我正在我的应用程序中实现身份验证和授权。
对于身份验证: 我通过 ADFS 服务器配置了 WS-Fed 登录协议并启用了 JWT。创建 MVC 应用程序并配置为使用 WS-Fed 对用户进行身份验证。
现在的问题是成功登录后如何将 JWT 令牌存储在我的 cookie 中?
这是我的代码
public partial class Startup
{
private static string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions{ CookieName="JwtToken",CookieHttpOnly=false});
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = realm,
MetadataAddress = adfsMetadata
});
}
}
对于授权 ,我有一个单独的 Web API 项目。我想通过在每个请求的标头中传递 JWT 令牌来授权我的 api,但不确定如何从 cookie 中提取 JWT 令牌并将其传递给 web api 进行验证。