【发布时间】:2014-12-29 15:06:39
【问题描述】:
我已将Satellizer 与各种社交登录提供商(Facebook、Twitter、Google)结合到我的应用程序中。我的堆栈包括:AngularJS(UI 路由器)和 NodeJS/Express。
我似乎在为用户身份验证设置动态回调 URL 时遇到了挑战。我的应用没有具有一致的登录 URL,例如 http://example.com/login,因为我的所有 URL 都是动态的并且基于令牌,例如:http://example.com/XH12aT1771。实际上,我的登录用户体验是一种模式叠加,没有任何一致的登录页面。
我的系统与 OAuth 集成的挑战是在用户通过模式覆盖登录到我的应用程序后,我想将他们放回他们所在的确切房间(或令牌),而不是将他们重定向到某个回调URL 页面,因为这将是一个糟糕的用户体验。
是使我的 OAuth 回调 url 硬编码的唯一方法,例如:http://example.com/success,然后在用户点击 /success 页面后将用户重定向回他们的令牌?这真的是做这种事情的唯一方法吗?
如果您需要更多问题详情,请告诉我,感谢您的帮助。
【问题讨论】:
-
我在某些应用程序中使用了 3rd 方 oauth 2,但从未发现需要创建静态回调 url。它应该只匹配基本 url(即example.com)并且不应该关心之后写的内容。
-
您是否尝试将其设置为localhost?
-
回调 URL 通常被硬编码到特定路径。也许您可以尝试让他们点击您的令牌路由,然后将它们重新路由到回调 URL?我在我的 node.js 应用程序中坚持使用passportjs.org,所以不确定有什么可能。
标签: angularjs oauth oauth-2.0 angular-ui-router satellizer