繁体   English   中英

Sencha触摸2 oauth2认证

[英]Sencha touch 2 oauth2 authentication

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

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

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

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

本文详细解释了如何将OAuth2与Sencha Touch配合使用。

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

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

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

AJAX代理头属性:

暂无
暂无

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

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