2016-11-11 11 views
2

私はKentor.AuthService.Idpプロジェクトを出発点として使用しています。Kentor idproviderのカスタムメタデータを追加するには?

私はへのシングルサインオンにしようとしていSAML対応サービスプロバイダは以下の属性は、メタデータファイルの一部である必要があります。

ログインID、パートナーID、プラットフォーム、ユーザーが電子メール

これらを既存のメタデータに追加する方法と、これらを含む新しいメタデータを作成する方法はありますか。

サービスプロバイダのマニュアルを具体的に述べている:

の属性のリストは、メタデータファイルに、あなたが

を生成するアサーションに含まれている必要があり、これらの属性を含めないメタデータで満たしますアサーションのこれらの属性をメタデータに含めるよりもまったく異なるタスクに含めることができますか?

答えて

0

これらは2つの異なるものです。

メタデータでサポートされている属性のリストを指定したいと思うようです。 AuthServicesで使用されるSystem.IdentityModelメタデータクラスはこれをサポートしますが、自分で追加する必要があります。

生成されたアサーションに属性を追加することは別の作業です。アサーションを作成するために使用するアイデンティティのクレームとして追加することで、これを行うことができます。

+0

コードサンプルで私自身の質問に答えようとしました。あなたは見てみることができますか?私はあなたの答えを正しく解釈するかどうかはわかりません。私はまた、ディスクリプタとクレームを使って、sso auth postをどのように形成するかについても特定していません。ありがとう! –

0

アンダーズの答えに基づいて、私は次のコードを思いついた。メタデータがサポートされている

は、生成されたアサーション

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); 

私はアサーションにクレームを追加する方法かどうか分からない上

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]")); 

属性を属性。

関連する問題