Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openid connect 将Google登录添加到OpenIddict授权服务器-谁提供客户端id以及如何提供?_Openid Connect_Openiddict - Fatal编程技术网

Openid connect 将Google登录添加到OpenIddict授权服务器-谁提供客户端id以及如何提供?

Openid connect 将Google登录添加到OpenIddict授权服务器-谁提供客户端id以及如何提供?,openid-connect,openiddict,Openid Connect,Openiddict,从OpenIddict开始,我想添加Google帐户作为登录提供者(nuget:Microsoft.AspNetCore.Authentication.Google) 我的更改包括在AddOpenIddict(…)之后添加google身份验证提供程序: 将/signin google添加为有效授权端点以允许调用signin: options.SetAuthorizationEndpointUris("/connect/authorize", "/signin-goo

从OpenIddict开始,我想添加Google帐户作为登录提供者(nuget:
Microsoft.AspNetCore.Authentication.Google

我的更改包括在
AddOpenIddict(…)
之后添加google身份验证提供程序:

/signin google
添加为有效授权端点以允许调用signin:

options.SetAuthorizationEndpointUris("/connect/authorize", "/signin-google")
       .SetLogoutEndpointUris("/connect/logout")
       .SetIntrospectionEndpointUris("/connect/introspect")
       .SetUserinfoEndpointUris("/connect/userinfo");
然而,当从google回来时,OpenIddict服务器总是抱怨客户端id丢失:

fail:OpenIddict.Server.OpenIddictServerDispatcher[0]由于缺少必需的“client\u id”参数,授权请求被拒绝。

已尝试了这些配置选项,但未做任何更改:

options.AcceptAnonymousClients();
options.Configure(op => op.AcceptAnonymousClients = true);
我做错了什么

可以找到完整的日志


(是的,我将端口更改为6001以重用在google注册的现有重定向url)

选项。AcceptionNonymousClient()
对代码流没有影响,因为在这种情况下,
客户端id
是一个强制参数(它只影响令牌、内省和撤销端点)

options.signnscheme
不能设置为属于OpenIddict的方案。在大多数情况下,它必须对应于cookie处理程序(通常是通过标识注册的处理程序)

您还需要从OpenIddict管理的端点中删除
/signin google
,因为这将阻止google身份验证处理程序正常工作

options.AcceptAnonymousClients();
options.Configure(op => op.AcceptAnonymousClients = true);