Oauth刷新令牌

时间:2020-01-19 17:12:52

标签: oauth oauth-2.0 asp.net-identity identityserver4 openid-connect

很抱歉出现新手问题。 如果我仍然必须发送凭据,刷新令牌有什么意义?

或者换句话说,请求刷新令牌或只是一个新的访问令牌之间有什么实际区别?

这是我的代码:

    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);
    }
}

1 个答案:

答案 0 :(得分:0)

您的问题不清楚。 {33.3}用于获取新的有效refresh token,并且在您已有有效的access token时不需要用户凭据。