我创建了自己的登录模块,而不是使用 / token 。我们可以看到我正在返回一个refresh_token,它允许我的access_token获得一个新的。 - 访问我的登录api请求http://localhost/api/Account/LoginUser并获取access_token,refresh_token和到期日期。
与我的登录模块相同我想实现一个RefreshToken,我可以返回一个用户新的access_token并延长使用时间。
到目前为止,我所做的是:
[Route("RefreshToken")]
[AllowAnonymous]
public HttpResponseMessage GrantRefreshToken(OAuthGrantRefreshTokenContext context)
{
//enforce client binding of refresh token
if (context.Ticket == null || context.Ticket.Identity == null || !context.Ticket.Identity.IsAuthenticated)
{
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new ObjectContent<object>(new
{
Message = "Refresh token is not valid"
}, Configuration.Formatters.JsonFormatter)
};
}
else
{ // implement logic here}
但无法获得任何背景信息。
我做错了什么?请帮我实施。
由于