Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.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
C# 使用openId connect如何向请求c添加声明#_C#_Openid Connect_Openid - Fatal编程技术网

C# 使用openId connect如何向请求c添加声明#

C# 使用openId connect如何向请求c添加声明#,c#,openid-connect,openid,C#,Openid Connect,Openid,我正在使用openId connect对用户进行身份验证 services.AddAuthentication(sharedOptions => { }) .AddCookie().AddOpenIdConnect("QuickBooks", "QuickBooks", openIdConnectOptions => { openIdConn

我正在使用openId connect对用户进行身份验证

services.AddAuthentication(sharedOptions => { })
                .AddCookie().AddOpenIdConnect("QuickBooks", "QuickBooks", openIdConnectOptions =>
                {
                    openIdConnectOptions.Authority = "QuickBooks";
                    openIdConnectOptions.UseTokenLifetime = true;
                    openIdConnectOptions.ClientId = qbclientId;
                    openIdConnectOptions.ClientSecret = qbSecret;
                    openIdConnectOptions.ResponseType = OpenIdConnectResponseType.Code;
                    openIdConnectOptions.MetadataAddress = qbMetaAddress;
                    openIdConnectOptions.ProtocolValidator.RequireNonce = false;
                    openIdConnectOptions.SaveTokens = true;
                    openIdConnectOptions.CallbackPath = "/signin-oidc";
                    openIdConnectOptions.ClaimActions.MapUniqueJsonKey("realmId","realmId");
                    openIdConnectOptions.ClaimActions.MapUniqueJsonKey("id_token", "id_token");
                    openIdConnectOptions.GetClaimsFromUserInfoEndpoint = true;
                    openIdConnectOptions.Scope.Add("openid");
                    openIdConnectOptions.Scope.Add("phone");
                    openIdConnectOptions.Scope.Add("email");
                    openIdConnectOptions.Scope.Add("address");
}
我想用realmId检索用户数据

这在他们的请求中是可选的 主张

可选。包含应用程序正在请求的一组用户声明的JSON对象。这些声明要么在ID令牌中返回,要么在UserInfo响应中返回。现有索赔包括:

realmId—与用户关联的特定QuickBooks公司的领域ID

“id_令牌”: { “realmId”:空 }

这就是他们的示例请求url的样子。如何使用OpenID connect请求索赔

https://appcenter.intuit.com/connect/oauth2?
    client_id=Q3ylJatCvnkYqVKLmkxxxxxxxxxxxxxxxkYB36b5mws7HkKUEv9aI&
    scope=openid%20email&
    redirect_uri=https%3A%2F%2Fwww.mydemoapp.com%2Foauth-redirect&
    response_type=code&
    state=138r5719ru3e1&
    claims=%7B%22id_token%22%3A%7B%22realmId%22%3Anull%7D%7D