Добавление параметра "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);
        }
    };
});

Но это правильный способ сделать это, или есть лучший способ?

Другие вопросы по тегам