2

Warum möchte ich das?Wie bekomme ich einen OID-Anspruch in ASPCore von Azure B2C

Ich versuche, eine eindeutige ID von meinem Benutzer zu erhalten, die ich mit Datenbankdatensätzen verbinden kann. Es gibt Gründe, warum ich die E-Mail nicht als Kennung verwenden möchte. Ich habe gelesen, dass der SUB-Anspruch bei B2C nicht unterstützt wird und dass OID an dessen Stelle verwendet wird.

Schritte I

So genommen habe, habe ich eingerichtet, dass meine beiden Richtlinien Objekt-ID Return on Azure B2C:

enter image description here

Ich bin mit individueller SignIn und SignUp-Richtlinien im Moment, und ich bekomme alle Ansprüche zurück, einschließlich des E-Mail-Anspruchs, den ich angegeben habe, den ich zurückgeben wollte. Ich kann jedoch keinen Anspruch auf OID oder SUB finden.

User.Claims 

Nets mir die folgenden Ergebnisse:

enter image description here

Die einzige Brotkrümel der Hoffnung, dass ich gefunden habe, ist diese Behauptung:

Typ: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

Wert: Nicht unterstützt zur Zeit. Verwenden Sie den OID-Anspruch.

Fragen

habe ich einige zusätzliche Schritt verpasst, die Sie zu diesem besonderen Anspruch abzurufen ausführen müssen?

Hat jemand Erfolg beim Abrufen einer OID oder SUB von Azure B2C?

Antwort

4

Nun, das ist peinlich, ich über diese Linie etwa 30-mal ausgesehen haben muss und nicht bemerkt ...

ich die OID-Token wurde Abrufen es Fallart ist war:

http://schemas.microsoft.com/identity/claims/objectidentifier

Wie in meinen Screenshots deutlich zu sehen ist. Ich überlasse diese Frage als, das Schema kann jemand anderes wegwerfen.

+0

Der http://schemas.microsoft.com/identity/claims/objectidentifier-Typ stammt von den Parsing-Bibliotheken, die diese abbilden. Es ist möglich, diese Mappings im Startup zu löschen, um diese Dinge zu vermeiden :) –

+0

Ich hatte das gleiche Problem, außer dass ich die Ansprüche nicht gesetzt habe. Ich habe festgestellt, dass die namenidentität eine Guid hat, die der Objekt-ID des Anspruchs entspricht. –