加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – OAuth:如何设置动态回调URL?

发布时间:2020-12-17 06:55:17 所属栏目:安全 来源:网络整理
导读:我已将 Satellizer与各种社交登录提供商(Facebook,Twitter,Google)合并到我的应用程序中.我的堆栈包括:AngularJS(UI路由器)和NodeJS / Express. 我似乎遇到了为用户身份验证设置动态回调URL的挑战.我的应用没有一致的登录网址,例如http://example.com/login
我已将 Satellizer与各种社交登录提供商(Facebook,Twitter,Google)合并到我的应用程序中.我的堆栈包括:AngularJS(UI路由器)和NodeJS / Express.

我似乎遇到了为用户身份验证设置动态回调URL的挑战.我的应用没有一致的登录网址,例如http://example.com/login,因为我的所有网址都是动态且基于令牌的,例如:http://example.com/XH12aT1771.实际上,我的登录用户体验是模态覆盖,并且没有任何一致的登录页面.

我的系统与OAuth集成的挑战是在通过模态覆盖将用户登录到我的应用程序之后,我想将它们放回到他们所在的确切房间(或令牌)中,而不是将它们重定向到某些回调URL页面.这将是一个糟糕的用户体验.

这是使我的OAuth回调网址硬编码的唯一方法,例如:http://example.com/success然后在用户点击/成功页面后将用户重定向回其令牌?这真的是做这种事的唯一方法吗?

如果您需要更多问题详情,请告诉我,谢谢您的帮助.

解决方法

我不知道Sattelizer为您提供的选项,它还取决于授权服务器(AS)支持的选项,但是:

从安全角度来看,建议使用固定的回调URL,以防止由于AS端的URL匹配错误/松散而导致的某些攻击,或者由于嵌入式而导致RP侧的第三方意外令牌泄漏不使用令牌的页面上的图像/ iframe等.

因此无论是否有另一种方式,无论如何都使用固定的回调URL是一种很好的安全做法,你可以(希望)将原始URL与发送出来的状态参数相关联,或者将其放入cookie中并在消费后恢复它回调URL上的令牌.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读