Ich habe eine funktionierende Identity Server-Anwendung, und ich richte es ein, um mit Azure AD zu arbeiten. Ich habe meine Azure Ad App-Registrierung und kann mich ordnungsgemäß damit authentifizieren.Identity Server 3 AzureAd Ansprüche, die nicht zurückgegeben werden
Mit Blick auf this und versuchen, etwas ähnliches zu tun, um das 3rd-Party-Benutzer-IDs mit einem Benutzer zugeordnet speichern, aber ich bin nicht immer die sub
oder nameIdentifier
Ansprüche von AAD zurück.
Muss ich diese irgendwie von AzureAD anfordern? - Ihre Dokumente scheinen zu sagen, dass der "sub" -Anspruch zurückgegeben wird (oder zumindest zurückgegeben werden kann): https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-token-and-claims#_subject. This Artikel scheint zu sagen, dass sub nicht zurückgegeben wird, aber es ist für Multi-Tenant-Anwendungen, so dass ich nicht sicher bin, ob das relevant ist.
Ich bin sicher, ich vermisse etwas Einfaches, aber kann nichts relevantes auf Google finden.
Cheers, Alex
Danke @ fie-xue-msft. Meine Fiddler-Spur ist die gleiche wie deine. Wie erhalten Sie das rohe Antwort-Token von AAD? Vielleicht muss ich einige spezielle Bereiche hinzufügen, um es zurück zu bekommen? Wird der Subject-Anspruch im Rahmen der IDS-Methode "AuthenticateExternalAsync" zurückgegeben? Diese Antwort (http://stackoverflow.com/questions/32510679/getting-users-token-subject-identifier-sub-from-within-azure-ad) besagt, dass ich "oid" anstatt "sub" betrachten sollte, aber die Frage ist ein Jahr alt. – Alex
Als der Code in dem Post interagieren die IdentityServer3 Azure AD mit Open ID-Verbindungsprotokoll. Um einzugrenzen, ob dieses Problem von Azure AD oder Identity Server3 verursacht wurde, empfehle ich, die id_token-Rückgabe von Azure AD von dieser [Website] (https://jwt.io/) zu dekodieren. –
Und soweit ich weiß, ist das einzige 'sub' der Stand Claim, der von der Open ID Verbindung unterstützt wird (siehe [hier] (http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)). –