gpt4 book ai didi

rest - Sencha touch 2 oauth2 身份验证

转载 作者:行者123 更新时间:2023-12-02 03:46:17 24 4
gpt4 key购买 nike

使用 OAuth 2 我需要限制用户仅访问允许的资源,其中与 API 的连接是通过 ext.js REST 代理建立的。 ext.js 代理负责数据检索和维护模型关系。我还没有找到一种优雅的方式来根据登录的用户从代理到后端进行不同的调用。

我想知道登录到我的应用程序的每个用户的代理是否必须不同,因为每个用户都有自己的访问 token 。

另一种选择是让代理在代理初始化过程中了解已登录的用户,并以持久的方式保存此信息。

有没有人解决过类似的情况?

最佳答案

文章对如何在Sencha Touch中使用OAuth2进行了详细的解释。

有多种使用 OAuth 的方法。一种是在初始身份验证后使用重定向(为此,您可以在 Sencha 登录 View 中使用 iFrame)。另一个使用您的后端服务器作为 OAuth 服务器的中介,可以避免 iFrame 解决方案,但需要您的服务器上有更多逻辑。

然后您可以使用一个 session cookie,它将与所有 HTTP 请求一起重新发送,包括您的 REST 调用。大多数后端支持 session cookie,因此您需要做的就是查找存储在 session 对象中的用户 ID 作为 REST API 代码的一部分。

另一种选择是在每个需要身份验证的 REST 调用中设置自定义 HTTP header 。为避免重复代码,从 Sencha 代理类创建派生类以设置包含访问 token 的 header 。您可以将访问 token 存储在 Store 或 Application 对象上,或者作为静态值存储在代理上。我已经为 REST 代理调用和 Sencha Direct 代理调用完成了此操作。

AJAX 代理 header 属性:

关于rest - Sencha touch 2 oauth2 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com