1

我正在我的应用程序中实现身份验证和授权。

对于身份验证: 我通过 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 进行验证。

4

1 回答 1

0

我在这里找到了答案http://www.software-architects.com/devblog/2015/02/02/ADFS-and-ADAL-Lab

ADAL(适用于 .NET 和 JavaScript 的 Active Directory Authentication Library),可用于在 mvc 应用程序中获取令牌并在标头中传递令牌以授权 Web api。

于 2016-06-20T12:38:15.150 回答