2016-11-11 12 views
2

Я использую Kentor.AuthService.Idp проект как отправная точка.Как добавить настраиваемые метаданные для Kentor idprovider?

SAML включен поставщика услуг Я пытающегося одного Зарегистрированным требует следующие атрибуты быть частью файла метаданных:

логин-ид, партнер-идентификатор, платформы пользователя электронной почты

Как добавить их в существующие метаданные или создать новые метаданные, содержащие их?

Документация поставщик услуг в частности, гласит:

список атрибутов должны содержаться в файле метаданных и утверждений можно создавать

ли включение этих атрибутов в метаданных выполняют требование поставщика услуг, или включает эти атрибуты в утверждение совершенно другую задачу, чем включение их в метаданные?

ответ

0

Это две разные вещи.

Похоже, они хотят, чтобы вы указали список поддерживаемых атрибутов ni метаданных. Эти классы метаданных System.IdentityModel, используемые AuthServices, поддерживают это, но вам придется добавлять их в себя.

Добавление атрибутов в сгенерированные утверждения является другой задачей. Вы можете сделать это, добавив их в качестве претензий к идентификатору, который вы используете для создания утверждения.

+0

Я попытался ответить на свой вопрос с помощью образцов кода. Вы можете взглянуть? Я не уверен, правильно ли я правильно понял ваш ответ. Я также не уверен, как сформировать пост sso auth с использованием дескриптора и претензий. Благодаря! –

0

Основываясь на ответе Андерса, я придумал следующий код.

Поддерживаемые атрибуты метаданных

var descriptor = new IdentityProviderSingleSignOnDescriptor(); 
descriptor.SupportedAttributes.Add(new Saml2Attribute("platform", "desktop")); 
descriptor.SupportedAttributes.Add(new Saml2Attribute("partnerid", "partner123")); 
descriptor.SupportedAttributes.Add(new Saml2Attribute("login-id", "user9")); 
descriptor.SupportedAttributes.Add(new Saml2Attribute("useremail", "[email protected]")); 

Атрибуты для сгенерированных утверждений

var claims = new List<Claim>(); 
claims.Add(new Claim("platform", "desktop")); 
claims.Add(new Claim("partnerid", "partner123")); 
claims.Add(new Claim("login-id", "user9")); 
claims.Add(new Claim("useremail", "[email protected]")); 
var identity = new ClaimsIdentity(claims); 

Я не уверен, как добавить требования к утверждению.

 Смежные вопросы

  • Нет связанных вопросов^_^