Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用oAuth的Web Api 2.0在没有登录提示的情况下刷新桌面应用程序的令牌_C#_.net_Winforms_Asp.net Web Api_Oauth - Fatal编程技术网

C# 使用oAuth的Web Api 2.0在没有登录提示的情况下刷新桌面应用程序的令牌

C# 使用oAuth的Web Api 2.0在没有登录提示的情况下刷新桌面应用程序的令牌,c#,.net,winforms,asp.net-web-api,oauth,C#,.net,Winforms,Asp.net Web Api,Oauth,我有一个web api 2.0和一个winform应用程序。我正在保护我的web api。到目前为止,我实现的是在winform应用程序配置文件中保存了一个用户代码和一个加密密码。使用这些作为用户名和密码,我能够检索令牌以与API通信。现在,我正在尝试实现刷新令牌,遇到了许多问题: 对于没有登录提示的桌面应用程序,刷新令牌是正确的想法吗 如果是,是否需要使用客户端凭据(id和密码)? 如果是,如何在客户端创建和存储客户端id和密码 如果没有,是否有教程或示例说明如何在没有客户端id和密码的情

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

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

  • 如果是,是否需要使用客户端凭据(id和密码)
    • 如果是,如何在客户端创建和存储客户端id和密码
    • 如果没有,是否有教程或示例说明如何在没有客户端id和密码的情况下实现刷新令牌
  • 如果没有,我应该让代币长寿吗
使用oauth2,在客户端成功进行身份验证后,身份验证服务器会发出
访问令牌
刷新令牌
、以及
令牌到期
访问令牌
用于授权请求,而
刷新令牌
用于请求新的
访问令牌
刷新令牌
,而无需客户端再次验证


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

使用oauth2,在客户端成功进行身份验证后,身份验证服务器会发出
访问令牌
刷新令牌
,以及
令牌
访问令牌
用于授权请求,而
刷新令牌
用于请求新的
访问令牌
刷新令牌
,而无需客户端再次验证


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

此winform应用程序是外部的(由未知用户使用)或内部的(如由您的组织成员使用)?它是外部的,但每个组织使用一个副本。使用该应用程序的人可能会为自己的组织进行身份验证?每个组织是,但不是每个用户。您是否有一些vpn?此winform应用程序是外部的(由未知用户使用)或内部的(例如由您的组织成员使用)?它是外部的,但每个组织使用一个副本。使用该应用程序的人可能会为自己进行身份验证?每个组织是,但不是每个用户。您有一些vpn吗?