【问题标题】:Modify API OAuth Token Expire Time修改 API OAuth 令牌过期时间
【发布时间】:2019-11-07 15:12:16
【问题描述】:

Acumatica 版本:2019R1

我希望使用 Acumatica 中的连接应用程序修改授予的 OAuth 令牌的到期时间。目前,我的令牌是使用 'api' 和 'offline_access' 范围授予的,以便能够访问 API 并获取刷新令牌。

我试图避免使用任何类型的基于会话/cookie 的身份验证,因为我的系统将仅与来自完整外部源的 Acumatica REST API 交互,并且无法存储任何会话/cookie 相关数据。

我的最终目标是允许我的应用程序使用特定令牌进行绝对并发访问,而无需刷新,但更长的到期时间很可能就足够了。

作为背景,我查看了所有帮助文档,并通过了每个 Acumatica 开发人员培训课程,但没有一个明确说明 OAuth 协议是否可编辑。

我查看了https://www.rfc-editor.org/rfc/rfc6749 的 OAuth 2.0 框架文档,但是虽然它表明可以修改令牌到期时间/完全删除到期时间,但它没有关于如何修改它的具体信息,因为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>"
}

【问题讨论】:

    标签: rest oauth acumatica


    【解决方案1】:

    从我搜索的内容来看,Acumatica 似乎使用 IdentityServer3 来实现连接应用程序的 OAuth API。客户端通过 SM303010 屏幕输入,您可以在其中设置 ClientSecrets 和 RedirectURI。 IdentityServer3 中要修改的属性是 AccessTokenLifetime。

    https://identityserver.github.io/Documentation/docsv2/configuration/clients.html

    默认为 3600 秒(一小时),似乎没有给你任何修改的入口点。

    我会向支持人员核实,但如果不可用,您可以随时请求在https://feedback.acumatica.com 上添加该功能

    【讨论】:

    • 是的,就是这样:Acumatica 中现在没有配置和定制点。
    • 嗨 - 我们也有类似的需求。我们有一个外部 nodejs 应用程序,它将通过其余的 api 与 Acumatica 进行交互。我们正在使用这种方式“资源所有者密码凭据”。我们也不需要令牌过期,我们也不想处理管理刷新令牌过程。你最终是如何解决这个问题的?
    猜你喜欢
    • 2015-09-18
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2012-08-21
    • 2016-11-29
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多