MSAL 能否以我自己的权限使用(例如 IdentityServer)

Can MSAL be used with my own authority (e.g. IdentityServer)

我使用身份服务器设置了自己的身份授权。

我是 运行 本机 windows 应用程序,目前我正在使用 IdentityModel's OidcClient 库连接权限并获取令牌。

我想添加对 Azure AD 的支持,因为我无法在 Azure AD 上设置应用程序以使用 HybridWithProofKey 流程,我发现了这个 MSAL 我'我决定试一试。

在 MSAL 中有一个 PublicClientApplication class 在其构造函数中接受字符串授权 (source)

在这个构造函数中传递我的 URL 时,我想象它会使用发现服务并找到正确的端点并完成它的工作。但令我惊讶的是,这不起作用。

我收到以下错误消息:
AADSTS50049: Unknown or invalid instance. 在 github MSAL 上搜索 AADSTS50049 返回零结果。我已经克隆了项目并开始调试。

我发现请求已发送到我的权限 url 但
上有一个 GET 请求 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

此请求在此 source 中完成,它 returns 上面的错误。

那么,MSAL 是否打算与非 Azure 授权一起使用?

没有。它是专有后端的专有客户端库。

可以,

您需要使用 Azure B2C 库,它可以配置为其他身份提供者,如 facebook、google、linked in 等

如果符合 openId

,也可以选择使用自定义 IDP

看这里。 https://go.microsoft.com/fwlink/?linkid=854174