Добавление параметра "hd" для перенаправления UTP ASP.NET Core 1 с удостоверением 3
В ASP.NET 4 с Identity Framework 2 я могу добавить redirectUri с моим собственным параметром, например, параметром "hd", который Google использует для ограничения входа в домен таким образом:
var googleAuthOptions = new GoogleOAuth2AuthenticationOptions
{
ClientId = "redacted",
ClientSecret = "redacted",
Provider = new CustomGoogleProvider
{
OnApplyRedirect = context =>
{
var redirect = context.RedirectUri;
redirect += "&hd=contoso.com";
context.Response.Redirect(redirect);
}
}
};
app.UseGoogleAuthentication(googleAuthOptions);
Но я не могу найти документацию о том, как сделать то же самое с новым ASP.NET Core 1 с Identity Framework 3.
1 ответ
Решение
То, что я придумал в качестве рабочего решения, очень похожего на рассматриваемое, с помощью исходного кода на GitHub, заключается в следующем:
app.UseGoogleAuthentication(options => {
options.ClientId = Configuration["Authentication:Google:ClientId"];
options.ClientSecret = Configuration["Authentication:Google:ClientSecret"];
options.Events = new OAuthEvents()
{
OnRedirectToAuthorizationEndpoint = context =>
{
context.Response.Redirect(context.RedirectUri + "&hd=contoso.com");
return Task.FromResult(0);
}
};
});
Но это правильный способ сделать это, или есть лучший способ?