In System.IdentityModel.Claims gibt es drei Einträge: UPN, Name und Nameidentifier "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"Ansprüche: Differenz zwischen UPN, Namen mit Azure AD
Während des Debuggens nach der Authentifizierung mit AzureAD, OpenIdConnect und Office365. Ich sehe, dass Name und Upn immer gleich sind, etwas, das wie die "E-Mail" eines gegebenen Benutzers aussieht: z.B. [email protected] oder [email protected] , während die Namenskennung eine nicht von Menschen lesbare Kennung ist.
Dann, ich ein paar Fragen:
1) Ist ‚Name‘ und ‚UPN‘ immer gleich in meinem Zusammenhang sein?
2) Sind sie veränderbar? Wir sehen, dass der Domainname im Namen (oder upn) vorhanden ist, bedeutet dies, dass, wenn contoso.com von rototo.com erworben wird, der Name und upn geändert werden könnten? Oder ähnlich, wenn das Unternehmen sein Office365-Abonnement ohne einen benutzerdefinierten Domänennamen gestartet hat, aber später entscheiden sie sich für eins? Die Werte dieser Ansprüche können sich ändern?
3) Es bezieht sich auf 2) aber ist NameIdentifier die einzige sichere Möglichkeit, einen Verweis auf einen bestimmten Benutzer zu erhalten? Zum Beispiel um als Fremdschlüssel in der Datenbank zu speichern?
Ich sah die "früher" Frage, aber es war nicht klar, ob die UPN "wandelbar" war ... Danke. –
Ich habe eine andere verwandte Frage http://stackoverflow.com/questions/36747534/nameidentifier-vs-objectidentifier erstellt –