【问题标题】:Identity Server 4 - Unable to authenticate user身份服务器 4 - 无法对用户进行身份验证
【发布时间】:2022-03-22 19:53:31
【问题描述】:

我有以下客户:

 new Client
 {
    RequirePkce = false,
    AllowAccessTokensViaBrowser = true,
    ClientId = "client_id_mobile",
    ClientSecrets =
    {
      new Secret("client_secret_mobile".Sha256())
    },
    AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
    AllowedScopes =
    {
      IdentityServerConstants.StandardScopes.OpenId,                    
    },
    RedirectUris = new []
    {
      "https://www.getpostman.com/oauth2/callback"
    },
  }

我正在尝试通过在邮递员中执行以下操作来验证用户身份:

但正如你所见,我得到了unsupported_grant_type,我尝试将授权类型更改为code,然后得到unauthorized_client

谁能指出我在这里做错了什么?

【问题讨论】:

    标签: c# authentication oauth-2.0 identityserver4 openid


    【解决方案1】:

    对于新开发,您应该只考虑使用授权代码流或客户端凭据流。自 OAuth2.1 起,所有其他流程均已弃用。

    如果您想使用用户名/密码登录并且没有用户参与,请改用客户端凭据流程。

    【讨论】:

      【解决方案2】:

      根据 OAuth2.1 规范,PKCE 应该在授权代码授权中得到支持,但许多服务器支持根据 OAuth2.0 授权授权。您可以尝试其中任何一种。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-08
        • 2012-09-06
        相关资源
        最近更新 更多