我一直在玩Thinktecture IdentityServer3,我很想使用它,因为产品看起来很棒。但是,我并不完全了解如何完成我的流程,这可能相当普遍:
到目前为止一切顺利,如网站上的示例所示。我现在希望直接使用AJAX调用调用API,但为此我需要一个访问令牌。看起来像是一个很大的开销,必须通过MVC站点本身(再次,在示例中)。
如何完成此流程?它本质上是混合MVC和Javascript客户端样本还是更流畅的方式,因此用户只需登录一次?也许在隐藏字段中发送访问令牌,但是如何更新?
任何理解这一点的帮助都会很棒。
答案 0 :(得分:2)
我设法提出了一个似乎有用的解决方案,但不确定它是否是最好的做法...
我在这里为所有感兴趣的人提出了样本: OIDC-Website
答案 1 :(得分:1)
查看form post client以查看明确调用的端点。您需要点击token endpoint以获取访问令牌。
您应该能够在AJAX调用中使用这些端点,将收到的声明和令牌存储在cookie中并从那里获取。
请注意,要续订访问令牌,您还需要存储刷新令牌。刷新令牌的隐式流does not allow(您需要使用授权码流或混合流)。