从OpenIdDict应用程序重定向到客户端应用程序后,无效的Grant错误

问题描述

我有一个使用OpenIdDict Beta 6和ASP.NET Core 5的应用程序。

我正在使用OpenIdDict Velusia示例,并且具有以下客户端:

 OpenIddictApplicationDescriptor application = new OpenIddictApplicationDescriptor {
   ClientId = "spa",ClientSecret = "secret",ConsentType = OpenIddictConstants.ConsentTypes.Implicit,PostlogoutRedirectUris = {
     new Uri("https://localhost:5002/oidc/signout")
   },RedirectUris = {
     new Uri("https://localhost:5002/oidc/signin"),},Permissions = {
     OpenIddictConstants.Permissions.Endpoints.Authorization,OpenIddictConstants.Permissions.Endpoints.logout,OpenIddictConstants.Permissions.Endpoints.Token,OpenIddictConstants.Permissions.GrantTypes.AuthorizationCode,OpenIddictConstants.Permissions.GrantTypes.RefreshToken,OpenIddictConstants.Permissions.ResponseTypes.Code,OpenIddictConstants.Permissions.Scopes.Email,OpenIddictConstants.Permissions.Scopes.Profile,OpenIddictConstants.Permissions.Prefixes.Scope + "api"
   },Requirements = {
     OpenIddictConstants.Requirements.Features.ProofKeyForCodeExchange
   }
 };

在我的客户端应用程序上,我正在使用OIDC Client,并且具有以下设置:

const settings: UserManagerSettings = {
  automaticSilentRenew: true,authority: "https://localhost:5000",client_id: 'spa',client_secret: "secret",filterProtocolClaims: true,loadUserInfo: true,post_logout_redirect_uri: "https://localhost:5000/oidc/signout",redirect_uri: "https://localhost:5000/oidc/signin",response_mode: 'query',response_type: 'code',scope: 'openid profile email api'
};

我能够使用电子邮件/密码登录并注销...

当我使用Google登录时,我被重定向回OpenIdDict应用程序。

我收到成功的登录消息,并要求确认电子邮件以创建帐户。

我确认了这一点,然后将我重定向回了spa客户端应用程序...

但是当OIDcclient-JS在spa中调用“ / connect / token”时,我得到了错误

Error: invalid_grant

它与以前的OpenIdDict版本一起使用...

我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)