最佳答案
我的 AngularJS 应用程序需要访问用户的 LinkedIn 配置文件。为了做到这一点,我需要重定向用户到一个 LinkedIn URL,其中包含一个回调 redirect _ uri 参数,它将告诉 LinkedIn 重定向用户回到我的网络应用程序,并在 URL 中包含一个“代码”查询参数。这是传统的 Oauth 2.0流程。
除了 LinkedIn 将用户重定向回下面的 URL 之外,一切都很好:
http://localhost:8080/?code=XXX&state=YYY#/users/123/providers/LinkedIn/social-sites
我想删除 ?code=XXX&state=YYY
从网址,以便使它干净。用户不需要查看我从 LinkedIn 重定向收到的查询参数。
我试过 $location.absUrl($location.path() + $location.hash()).replace()
,但是它把查询参数保留在 URL 中。
我也无法提取查询参数,例如“代码”,使用 ($location.search()).code
。
似乎在上面的 URL 中使用? before # 是在欺骗 Angular。