如何在第三方ASP.NET Web API客户端中使用Oauth生成的令牌?

时间:2018-12-19 03:49:59

标签: c# asp.net-web-api jwt

我是asp.net Web API的新手。

我计划对基于C#创建的简单Web API使用基于令牌的身份验证。

我已经创建了API,并使用以下代码创建了令牌

OAuthOptions = new OAuthAuthorizationServerOptions
{
   TokenEndpointPath = new PathString("/Token"),
   Provider = new SimpleAuthorizationServerProvider(),
   AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
   AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
   // In production mode set AllowInsecureHttp = false
   AllowInsecureHttp = true
};

我使用邮差工具来测试api,方法是复制上述代码生成的令牌,并在其前面加上关键字Bearer。

一切正常。

但是,我有以下问题,无法找到正确的答案。

  1. 第三方客户如何知道生成的令牌?
  2. 由于令牌在14天后到期,客户如何知道更新的令牌?

1 个答案:

答案 0 :(得分:0)

您将它们从登录名传递回令牌,他们将其用作承载令牌。

您还可以给他们一个刷新令牌,其作用类似于用户名/密码,客户端检查它们是否获得身份验证失败,然后他们将使用刷新令牌来获得新的承载令牌。

真的取决于您的应用程序。如果是移动应用程序,则可以将其设置为永不过期,以使事情变得更容易(如果没有风险)。您可以要求他们在14天后再次登录的网站,或使用刷新令牌。很多选择