SAML 2 IdP に対して認証を行う場合、Subject Name Identifier は何のためにあるはずですか? 各ユーザーのログインを追跡しますか?
私の SAML 2 サービス プロバイダー アプリケーションは、さまざまなユーザーについてこれらを追跡する必要があるかどうか疑問に思っています。それらは一時的なものであるため、ログインごとに異なる可能性があります (そのため、ユーザー アカウントにぶら下がっているコレクションを使用して追跡する必要があります)。
SAML 2 IdP に対して認証を行う場合、Subject Name Identifier は何のためにあるはずですか? 各ユーザーのログインを追跡しますか?
私の SAML 2 サービス プロバイダー アプリケーションは、さまざまなユーザーについてこれらを追跡する必要があるかどうか疑問に思っています。それらは一時的なものであるため、ログインごとに異なる可能性があります (そのため、ユーザー アカウントにぶら下がっているコレクションを使用して追跡する必要があります)。
名前識別子にはいくつかの属性が含まれています。
最初の属性はNameQualifierで、IDPでのユーザーのセキュリティドメインを指定します。セキュリティドメインは、同じ名前の識別子を使用するさまざまなユーザーの曖昧さを解消するのに役立ちます。
2番目の属性はSPNameQualifierで、SPのユーザーのセキュリティドメインを指定します。
3番目の属性はFormatで、名前識別子の解釈方法を指定します。
たとえば、ユーザーがIDPとSPで同じ名前識別子を使用する場合は、電子メールアドレス名識別子形式が使用されます。これは、ユーザーがIDPでalice@domain.comとしてログインしている場合、ユーザーはSPでもalice@domain.comとしてログインしていることを意味します。
別の例として、永続識別子は、ユーザーがIDPとSPで同じ名前の識別子を使用したくない場合に使用されます。つまり、ユーザーはIDPではalice@idp.comとしてログインできますが、SPではbob@sp.comとしてログインできます。これは、IDPとSPによって合意された12345などの識別子を使用することで実現されます。この識別子は、IDPではalice@idp.comにマッピングされ、SPではbob@sp.comにマッピングされます。永続識別子は、SPにIDP内のユーザーの名前識別子を認識させたくない場合に役立ちます。
この<NameIdentifier>
要素は SAML 1.1 の概念です。<NameID>
これは、サブジェクトを識別する要素に取って代わられました。NameID は必ずしも一時的なものではありません。SAML 2.0 コア仕様のセクション 8.3 を参照してください。