1

我有一个 web api 2.0 和一个 winform 应用程序。我正在保护我的 web api。到目前为止,我已经实现的是我在 winform 应用程序配置文件中保存了一个用户代码和一个加密密码。使用这些作为用户名和密码,我可以检索令牌以与 API 进行通信。现在我正在尝试实现一个 Refresh Token 并且遇到了一些问题:

对于没有登录提示的桌面应用程序来说,刷新令牌是正确的想法吗?

  • 如果是,是否需要使用Client Credentials(id 和 secret)来完成?
    • 如果是,如何在客户端创建和存储客户端 ID 和密码?
    • 如果没有,是否有教程或示例如何在没有客户端 ID 和密码的情况下实现刷新令牌?
  • 如果不是,我应该让令牌长寿吗?
4

1 回答 1

0

使用 oauth2,在客户端成功认证后,认证服务器会发出access_token, refresh_token, 和token_expiration. access_token用于授权请求,而用于refresh_token请求新的access_token并且refresh_token不需要客户端再次进行身份验证。

在大多数情况下,这些令牌在 JSON 响应中返回。要将您的身份验证请求发布到您的身份验证服务器,这将取决于您的实现。通过令牌持久性,您可以决定是否要将令牌保存到磁盘或应用程序内存中。令牌过期后,您可以让您的应用程序请求一组新令牌。

于 2020-01-09T19:27:35.910 回答