我有示例工作并通过以下过程成功返回 JWT 令牌
- 使用 Thinktecture OAuth2Client 检索访问令牌
- 从客户端计算机上的“受信任的人”存储中检索签名证书
- 使用证书并创建一个新的
JwtSecurityTokenHandler
andTokenValidationParameters
并调用tokenHandler.ValidateToken
以获取 ClaimsPrincipal
从这里我被授权,但我不确定为进一步请求保留令牌的最佳方式。我尝试使用
var sessionToken = new SessionSecurityToken(principal, TimeSpan.FromHour(8));
FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionToken);
但是我没有SessionAuthenticationModule
注册。我尝试使用身份和访问向导来完成此操作,但它对配置进行了许多更改并尝试为被动身份验证进行设置。
我可以使用传统的 FormsAuthentication cookie (.aspnetAuth),但我记得讨论过 .FedAuth cookie 的一个优点是,如果大小变得太大,它会自然地分成几个 cookie。
我正在努力寻找一篇为我完成图片的文章。我需要不记名令牌来访问堆栈中的各种 API。我有用于 SSO/被动身份验证的工作示例,因为大部分工作都是为您完成的。我只是不确定使用资源所有者密码流时使用的最佳模式。
所以
- 我是否错过了使用 Thinktecture 身份模型和服务器实现这一目标的更直接的方法?
- 我是否应该尝试创建一个 FedAuth cookie,以便我可以重用已经为 WIF 设置的各种消息处理程序/过滤器组件?
- 否则 - 简单地将访问令牌放在 FormsAuthentication cookie 的 UserData 部分有什么特别的错误吗?