首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAuth2Client clientId和clientSecret未设置

OAuth2Client clientId和clientSecret未设置
EN

Stack Overflow用户
提问于 2015-11-10 07:58:07
回答 1查看 1.9K关注 0票数 0

我已经设置了一个工作的IdentityServer 3,除了我试图添加的刷新令牌之外,一切都运行良好。

我避免报告整个代码,因为我认为我发现了错误。

代码语言:javascript
复制
var tokenClient = new OAuth2Client(new Uri("https://myServer/myIdentityServer/connect/token"), "clientId", "secretWord");
var response = await tokenClient.RequestAuthorizationCodeAsync(n.Code, n.RedirectUri);

我在第二行中得到一个错误,并且调试发现tokenClient变量包含一些设置为null但不应该包含的私有属性

_address:{https://myServer/myIdentityServer/connect/token} _authenticationStyle:无 _client:{System.Net.Http.HttpClient} _clientId:空 _clientSecret:空

为什么_clientId_clientSecret设置为null?我直接把这两个参数给了OAuth2Client构造函数,我是不是做错了什么?

更新:按照Scott的建议,我也尝试使用来自IdentityModelIdentityModel类。没有什么变化,response变量报告一个HttpError“内部服务器错误”。

从IdentityServer端看,一切似乎都很好,请求第一部分的日志是好的。

代码语言:javascript
复制
2015-11-10 14:31:36.737 +01:00 [Information] Start authorize request
2015-11-10 14:31:36.737 +01:00 [Information] Start authorize request protocol validation
2015-11-10 14:31:36.738 +01:00 [Information] "Authorize request validation success"
 "{
  \"ClientId\": \"hybridclient\",
  \"ClientName\": \"Hybrid Client Example\",
  \"RedirectUri\": \"https://rbmidde02.xxx.com/miIdentityClient/\",
  \"AllowedRedirectUris\": [
    \"https://rbmidde02.xxx.com/miIdentityClient/\"
  ],
  \"SubjectId\": \"1\",
  \"ResponseType\": \"code id_token token\",
  \"ResponseMode\": \"form_post\",
  \"Flow\": \"Hybrid\",
  \"RequestedScopes\": \"openid profile email roles offline_access\",
  \"State\": \"OpenIdConnect.AuthenticationProperties=joIq4Na_pIjM1dGht8LPOhXbzPjnHnlFgOPll_oxPbAH9GIuFQ5SKHUZWgRFUih_OFGTWxmi8I_Fu7pS_t_V_R2cNDa7l6r0eQ4RfgTosHHhmdpfm-0YuAO-N5q_16WyqesLPckv6HrB7ruZ64m8Vu4mpA80RYjc46xalOdzkyrKQLlmt_AwlWGA6XY-B2P3WpVvcP_tZQywdMEFS9uF-ucK07UOeUwO6nV8QXGJ-g31WhmM4D1I83O3EaYnoB2Xf6bOAMJuMySTywwQQ-bdd-tiOoRsusqSuc-JeeOiZvY\",
  \"Nonce\": \"635827590967269474.ZmM0NjgwYzMtZTYwMC00MmI5LTk5YzUtZjdhMmQ4MTkyZTUwNDBjZTkwYzEtYTBlNy00MDM2LTk4ZjUtMWEzYmZjZmZmMTc2\",
  \"SessionId\": \"7eb1b6356ef9ecb843dde1afdb239d9e\",
  \"Raw\": {
    \"client_id\": \"hybridclient\",
    \"redirect_uri\": \"https://rbmidde02.xxx.com/miIdentityClient/\",
    \"response_mode\": \"form_post\",
    \"response_type\": \"code id_token token\",
    \"scope\": \"openid profile email roles offline_access\",
    \"state\": \"OpenIdConnect.AuthenticationProperties=joIq4Na_pIjM1dGht8LPOhXbzPjnHnlFgOPll_oxPbAH9GIuFQ5SKHUZWgRFUih_OFGTWxmi8I_Fu7pS_t_V_R2cNDa7l6r0eQ4RfgTosHHhmdpfm-0YuAO-N5q_16WyqesLPckv6HrB7ruZ64m8Vu4mpA80RYjc46xalOdzkyrKQLlmt_AwlWGA6XY-B2P3WpVvcP_tZQywdMEFS9uF-ucK07UOeUwO6nV8QXGJ-g31WhmM4D1I83O3EaYnoB2Xf6bOAMJuMySTywwQQ-bdd-tiOoRsusqSuc-JeeOiZvY\",
    \"nonce\": \"635827590967269474.ZmM0NjgwYzMtZTYwMC00MmI5LTk5YzUtZjdhMmQ4MTkyZTUwNDBjZTkwYzEtYTBlNy00MDM2LTk4ZjUtMWEzYmZjZmZmMTc2\"
  }
}"
2015-11-10 14:31:36.738 +01:00 [Information] Creating Hybrid Flow response.
2015-11-10 14:31:36.738 +01:00 [Information] Creating Implicit Flow response.
2015-11-10 14:31:36.749 +01:00 [Information] Getting claims for identity token for subject: 1
2015-11-10 14:31:36.757 +01:00 [Information] End authorize request
2015-11-10 14:31:36.757 +01:00 [Information] Posting to https://rbmidde02.xxx.com/miIdentityClient/

但第二部分看起来也不错

代码语言:javascript
复制
2015-11-10 14:31:36.905 +01:00 [Information] Start userinfo request
2015-11-10 14:31:36.905 +01:00 [Information] Token found: AuthorizationHeader
2015-11-10 14:31:36.905 +01:00 [Information] Start access token validation
2015-11-10 14:31:36.906 +01:00 [Information] "Token validation success"
"{
  \"ValidateLifetime\": true,
  \"AccessTokenType\": \"Jwt\",
  \"ExpectedScope\": \"openid\",
  \"Claims\": {
    \"client_id\": \"hybridclient\",
    \"scope\": [
      \"openid\",
      \"profile\",
      \"email\",
      \"roles\",
      \"offline_access\"
    ],
    \"sub\": \"1\",
    \"amr\": \"password\",
    \"auth_time\": \"1447153048\",
    \"idp\": \"idsrv\",
    \"iss\": \"https://rbmidde02.xxx.com/miIdentityServer\",
    \"aud\": \"https://rbmidde02.xxx.com/miIdentityServer/resources\",
    \"exp\": \"1447165896\",
    \"nbf\": \"1447162296\"
  }
}"
2015-11-10 14:31:36.907 +01:00 [Information] Creating userinfo response
2015-11-10 14:31:36.907 +01:00 [Information] Scopes in access token: "openid profile email roles offline_access"
2015-11-10 14:31:36.907 +01:00 [Information] Requested claim types: "sub name family_name given_name middle_name nickname preferred_username profile picture website gender birthdate zoneinfo locale updated_at email email_verified role"
2015-11-10 14:31:36.907 +01:00 [Information] Profile service returned to the following claim types: "sub given_name family_name email role role preferred_username"
2015-11-10 14:31:36.907 +01:00 [Information] End userinfo request
2015-11-10 14:31:36.907 +01:00 [Information] Returning userinfo response.

IdentityServer端的响应是正常的,我不明白为什么客户机上出现了内部服务器错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-10 13:10:07

我在OAuth2Client课程方面的经验不多。但是,我确实知道来自TokenClient的IdentityModel类与Identity Server一起工作,并且使用与上面几乎相同的代码。

我建议您尝试一下,因为它是由与Identity Server相同的团队制作的。

例如,请参见这里使用和GitHub存储库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33625242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档