我有一个使用.NET Identity 的 Web 应用程序,它使用标准(基于 cookie)的身份验证。
我有一个用于使用 JWT 身份验证的移动应用程序的单独控制器。
这两者都设置为在中间件中使用,并且一切运行良好。
移动应用程序(使用 .NET MAUI)可以在系统浏览器中打开 URL。我想找到一种方法,让用户在打开某个页面时自动登录到 Web 应用程序(使用 cookie 方案)。
我的想法是,如果我可以打开一个 URL 并在查询字符串参数中传递令牌,?token={token}
那么我就可以识别身份用户并使用它来执行标准_signinManager.SignInAsync(User)
。
但我不知道如何使用从查询字符串获取的 JWT 字符串来查找身份用户。
_userManager.FindByJWT(jwt)
类似或相似的东西。
有任何想法吗?
此代码将使用您创建它时使用的任何密钥来验证 jwt 令牌。然后从声明中提取用户 ID。