【发布时间】:2016-04-10 08:17:05
【问题描述】:
我正在使用带有 JWT 令牌的 ASP.Net 5 MVC 6,这些令牌是在用户位于该站点是其子域的另一个站点上时创建的。我的目标是将令牌与请求一起传递给这个子域。如果用户碰巧尝试在标头中没有正确标记的情况下访问此子域 url,那么我想将他们重定向到主站点登录页面。
在对最新的 RC-1 版本感到非常沮丧并使用带有 SecureKey 而非证书的 JWT 令牌之后。我终于通过使用 RC-2 nightly build 版本让我的代码工作了。现在我的问题是,在未经身份验证的用户的情况下,我希望能够重定向到外部 url。这是我的验证码示例:
var key = "mysupersecretkey=";
var encodedkey2 = Convert.FromBase64String(key);
app.UseJwtBearerAuthentication(options =>
{
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
options.TokenValidationParameters.IssuerSigningKey = new SymmetricSecurityKey(encodedkey2);
options.TokenValidationParameters.ValidIssuer = "https://tv.alsdkfalsdkf.com/xxx/yyy";
options.TokenValidationParameters.ValidateIssuer = true;
options.TokenValidationParameters.ValidAudience = "https://www.sdgfllfsdkgh.com/";
options.TokenValidationParameters.ValidateAudience = true;
options.Configuration = new Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfiguration()
{
Issuer = "https://tv.sdfkaysdf.com/xxx/yyy"
};
});
现在我看到了其他使用 OpedId 的示例,它们非常简单,有一个名为 RedirectUrl 的参数
app.UseOpenIdConnectAuthentication(options => {
...
options.RedirectUri = "https://localhost:44300";
...
});
知道如何在使用JwtBearerAuthentication 时设置RedirectUrl ???
【问题讨论】:
标签: c# asp.net-mvc asp.net-core asp.net-core-mvc jwt