1

J'ai ma propre autorité d'identité configurée à l'aide du serveur Identity Server.MSAL peut-il être utilisé avec ma propre autorité (par exemple, IdentityServer)

Je cours une application native Windows et actuellement j'utilise la bibliothèque IdentityModel's OidcClient pour se connecter sur l'autorité et obtenir le jeton. Je veux ajouter le support pour Azure AD et comme je n'ai pas été capable de configurer l'application sur Azure AD pour utiliser le flux HybridWithProofKey, je l'ai trouvé MSAL J'ai décidé de tenter le coup.

En MSAL il y a une classe PublicClientApplication avec accepte l'autorité de chaîne dans son constructeur (source)

Lors du passage de mon URL dans ce constructeur que je l'imaginais utiliseraient le service de découverte et trouvé les points de terminaison corrects et à son travail . Mais à ma surprise cela ne marche pas.

Je reçois le message suivant d'erreur:
AADSTS50049: Unknown or invalid instance. Recherche sur github MSAL pour AADSTS50049 retourné aucun résultat. J'ai cloné le projet et commencé avec le débogage.

J'ai compris que la demande est envoyée à mon url autorité mais il y a une requête GET sur la
GET https://login.microsoftonline.com/common/discovery/instance?api-version=1.0&authorization_endpoint=https%3A%2F%2Fmyidentityserverhostname%2Fidentityserver%2Foauth2%2Fv2.0%2Fauthorize HTTP/1.1

Cette demande est faite dans ce source et renvoie l'erreur ci-dessus.

Alors, MSAL est-il destiné à être utilisé avec des autorités non azurées?

Répondre

3

Non. C'est une bibliothèque client propriétaire pour leur backend propriétaire.

+0

Une idée si IdentityModel.OidcClient peut être utilisé avec AzureAD? –

+0

Un peu nuancé, mais la bibliothèque est open source sous la licence MIT, mais conçue pour ne toucher que le service Azure AD. –

+0

Je n'ai jamais essayé oidcClient avec AAD. OidcClient est certifié, AAD ne l'est pas. Donc j'en doute. http://openid.net/certification/ – leastprivilege