【发布时间】:2020-05-05 19:45:08
【问题描述】:
抱歉新手问题。 如果我必须发送我的凭据,刷新令牌有什么意义?
或者换句话说,请求刷新令牌或只是一个新的访问令牌之间的实际区别是什么?
这是我的代码:
TokenResponse tokenResponse = null;
var tokenRequest = new TokenRequest
{
GrantType = "customgrant",
ClientId = "myUserName",
ClientSecret = "secret",
Address = disco.TokenEndpoint,
};
tokenResponse = await client.RequestTokenAsync(tokenRequest);
var testClient = new HttpClient();
testClient.SetBearerToken(tokenResponse.AccessToken);
var apiRes = await testClient.GetAsync("http://localhost:11000/api/GetData/104246");
if (!apiRes.IsSuccessStatusCode)
{
if (apiRes.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
RefreshTokenRequest refreshTokenRequest = new RefreshTokenRequest();
refreshTokenRequest.RefreshToken = tokenResponse.RefreshToken;
refreshTokenRequest.ClientId = "myUserName";
refreshTokenRequest.ClientSecret = "secret";
refreshTokenRequest.Address = disco.TokenEndpoint;
tokenResponse = await testClient.RequestRefreshTokenAsync(refreshTokenRequest);
}
}
【问题讨论】:
-
你用的是什么流量?
-
你在说什么证书?在正常设置中,客户端不知道用户的凭据,因此它必须使用刷新令牌,因为别无选择。
标签: oauth oauth-2.0 asp.net-identity identityserver4 openid-connect