【问题标题】:Can MSAL be used with my own authority (e.g. IdentityServer)MSAL 可以与我自己的权限一起使用吗(例如 IdentityServer)
【发布时间】:2019-09-27 22:39:00
【问题描述】:

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

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

我想添加对 Azure AD 的支持,由于我无法在 Azure AD 上设置应用程序以使用 HybridWithProofKey 流,并找到了这个 MSAL 我决定给它一个拍摄。

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

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

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

我发现请求已发送到我的授权网址,但
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上却有一个 GET 请求

这个请求是在这个source中完成的,它会返回上面的错误。

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

【问题讨论】:

    标签: azure-active-directory identityserver3 identityserver4 azure-ad-b2c msal


    【解决方案1】:

    没有。这是他们专有后端的专有客户端库。

    【讨论】:

    • 知道 IdentityModel.OidcClient 是否可以与 AzureAD 一起使用?
    • 有点细微差别,但该库在 MIT 许可证下是开源的,但构建为仅适用于 Azure AD 服务。
    • 我从未尝试过使用 AAD 的 oidcClient。 OidcClient 已通过认证,AAD 未通过。所以我对此表示怀疑。 openid.net/certification
    【解决方案2】:

    可以,

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

    如果它符合 openId,也可以选择使用自定义 IDP

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-25
      • 2019-06-18
      • 2011-01-29
      • 2020-10-10
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多