[英]How can I refresh an OAuth2 token? Do I need to wait for the token to Expire? (Patreon API)
[英]Modify API OAuth Token Expire Time
Acumatica版本:2019R1
我正在使用Acumatica中的Connected Application修改授予的OAuth令牌的到期时间。 目前,我的令牌是使用'api'和'offline_access'范围授予的,以便能够访问API并获取刷新令牌。
我试图避免使用任何类型的基于会话/ Cookie的身份验证,因为我的系统将仅从完整的外部来源与Acumatica REST API进行交互,并且无法存储任何与会话/ Cookie相关的数据。
我的最终目标是允许我的应用程序使用特定的令牌进行绝对的并发访问,而无需刷新,但是更长的到期时间很可能就足够了。
作为背景知识,我查看了所有帮助文档,并查看了每一个Acumatica开发人员培训课程,但是没有一个明确说明OAuth协议是否可编辑。
我查看了OAuth 2.0 Framework文档, 网址为https://tools.ietf.org/html/rfc6749 ,但是虽然它表明可以修改令牌的有效期限/完全删除该有效期限,但它没有具体信息自Acumatica实施该框架以来,如何修改它。
这是发送以授予初始令牌的x-www-form-urlencoded请求正文:
grant_type: <password>
client_id: <applicationID>@<company>
client_secret: <secret>
username: <username>
password: <password>
scope: api offline_access
这是从初始令牌请求以及刷新令牌的每个请求接收到的响应:
{
"access_token": "<accesstoken>",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "<refreshtoken>"
}
通过我的搜索,似乎Acumatica使用IdentityServer3来为连接的应用程序实现OAuth API。 通过SM303010屏幕输入客户端,您可以在其中设置ClientSecrets和RedirectURI。 IdentityServer3中要修改的属性为AccessTokenLifetime。
https://identityserver.github.io/Documentation/docsv2/configuration/clients.html
它默认为3600秒(一小时),似乎没有给您任何修改的入口点。
我会通过支持进行验证,但是如果该功能不可用,您可以随时在https://feedback.acumatica.com上请求添加该功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.