在没有 Microsoft 作为身份提供者的情况下使用 Microsoft.Identity.Client,这可能吗?

using Microsoft.Identity.Client without Microsoft as identity provider, is it possible?

有人可以告诉我是否可以使用“Microsoft.Identity.Client”执行 OpenIdConnect 并获得一个 并非来自 Microsoft/Azure 的访问令牌但来自另一个身份提供者。 提前致谢。

Can someone tell me if it's possible with the "Microsoft.Identity.Client" to do OpenIdConnect and get an access token which doesn't come from Microsoft/Azure but from another Identity Provider

不,如果您将 Microsoft.Identity.ClientOpenIdConnect 一起使用,则 不可能 从第三方身份提供商处获取访问令牌。

根据documentation

  • 对于 OIDC,此流程对大多数应用类型进行身份验证和授权。这些类型包括单页应用程序、Web 应用程序和本机安装的应用程序。该流程使应用程序能够安全地获取 access_token,该 access_token 可用于访问受 Microsoft identity platform.

    保护的资源
  • 所有机密客户端都可以选择使用客户端机密或证书凭据。对称共享秘密由 Microsoft identity platform.

    生成

可以参考Microsoft identity platform and OpenID Connect protocol, Validating access tokens and Request an access token with a client_secret