我的 AngularJS 应用程序需要有权访问用户的 LinkedIn 个人资料。为此,我需要将用户重定向到包含回调 redirect_uri 参数的 LinkedIn URL,该参数将告诉 LinkedIn 将用户重定向回我的 web 应用程序并在 URL 中包含“代码”查询参数。这是一个传统的 Oauth 2.0 流程。
除了 LinkedIn 将用户重定向回以下 URL 之外,一切都很好:
http://localhost:8080/?code=XXX&state=YYY#/users/123/providers/LinkedIn/social-sites
我想?code=XXX&state=YYY
从 URL 中删除以使其干净。用户不需要查看我从 LinkedIn 重定向收到的查询参数。
我试过$location.absUrl($location.path() + $location.hash()).replace()
了,但它将查询参数保留在 URL 中。
我也无法提取查询参数,例如“代码”,使用($location.search()).code
. 好像有?上面 URL 中的 # 之前是在欺骗 Angular。