0

我刚开始探索Thinktecture,因为我有多个网站,我想要他们之间的Single Sign On。于是,我开始工作就这个问题和我下面这个教程 Thinktecture tutorialThinktecture多个网站连接(SSO)

每一件事情正常工作下本教程中,当我在同一个项目中增加了一个应用程序,并试图获得访问,然后我坚持,因为他要求打这个url以获得授权。

http://localhost:52401/connect/authorize?client_id=test&redirect_uri=Http://example.local/&response_type=token&scope=api

,当我们打这一点,他给了我们一个登录页面,这样,我怎么想从我的网站打这个网址。我的意思是来自ajax?或者我可以重定向用户点击登录按钮这个网址。如果是,那么确定,但是当用户获得认证并且SSo将用户重定向回站点时会发生什么。那我怎么知道他准备冲浪我的网站呢?我的意思是如何读取access_token因为访问令牌是在URL像这样

#标志http://example.local/#access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSIsImtpZCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSJ9.eyJjbGllbnRfaWQiOiJ0ZXN0Iiwic2NvcGUiOiJhcGkiLCJzdWIiOiJhZG1pbiIsImFtciI6InBhc3N3b3JkIiwiYXV0aF90aW1lIjoxNDMxMDEzMDYxLCJpZHAiOiJpZHNydiIsImlzcyI6InVybjppZGVudGl0eSIsImF1ZCI6InVybjppZGVudGl0eS9yZXNvdXJjZXMiLCJleHAiOjE0MzEwMTY3OTQsIm5iZiI6MTQzMTAxMzE5NH0.GFqRU7U6qWlAY1RdAY__8AQqJidoFiF1KytpZuhX36-3wOUdwB4Y7xLrWkh9yzw9owEajf7QVFB89yjnAMbY82xLK7-HwR2uG0-6TjOL2VNK5f-mLYW4__q4wNtlu0RSxdX1NF3gxcnbn3Iw6nG7YGtXu-wfng_dNXADMmxQK0tG0JDey6QAxZ1129Bh9tmokblJA6Fy5VgZelC-Up1oqsEwbnS3KbRuKtLqlkapjXGpRsI4vTwfnhPtqBu8CN6gnM2EENN3NyENH5CCP7fhqrPwKje9FJ-ly262EKHQxyoN4fTxHhIRZwZ4kzJ42USiFK0xdqbuQMGufjWSAcEGg&token_type=Bearer&expires_in=3600&scope=api

回答

1

嘿感谢看我的教程中,我打算写第二部分下周将展示如何连接一个Web应用程序到SSO。我倾向于将访问令牌存储在本地存储中,并在没有访问令牌或已过期时重定向到思考。

为了从url中删除访问令牌,您可以使用JavaScript,如下所示。

var ssoParams = window.location.hash; 
+0

如何在控制器中得到这个 – Ancient

+0

你可以做一个ajax调用,但它也许可以用openid connect查看表单发布模式 –