angularjs – OAuth:如何设置动态回调URL?
我已将
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上的令牌. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |