繁体   English   中英

无法从Salesforce获取刷新令牌

[英]Not getting refresh token from Salesforce

我已经将Force.com Toolkit用于.NET很长时间了。 最近,一位客户开始投诉会话无效问题。 因此,我开始进行挖掘,发现我必须通过调用TokenRefreshAsync来刷新令牌, 为此我需要传递在身份验证期间获取的刷新令牌。 但是我从SF获取空刷新令牌。

我尝试了在互联网上找到的所有可能的尝试,但都没有成功。 OAuth范围中随时添加了代表您执行请求(refresh_token,offline_access)

在此处输入图片说明

刷新令牌的有效期设置为2天:

在此处输入图片说明

这是我用来验证的简单代码:

var task = authClient.UsernamePasswordAsync(consumerKey, consumerSecret, username, password, callback);
task.Wait();

我在这里想念什么?

无论范围如何, 用户名-密码Oauth流都不会在Salesforce上提供刷新令牌:

此OAuth身份验证流程来回传递用户的凭据。 仅在必要时使用此身份验证流程。 没有发出刷新令牌。

如果您需要刷新令牌,则需要实施其他OAuth流(首选!),或者避免访问刷新令牌并在访问令牌过期时重新进行身份验证。 后者使您容易受到身份验证的用户的凭据和安全令牌更改的影响,但是,使用更合适的OAuth流可以授予其弹性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM