У нас есть собственный поставщик OpenID Connect. Мы хотим передать пользовательский параметр запроса в запрос аутентификации с использованием промежуточного программного обеспечения Owin. И мы не можем найти способ реализации этого с помощью сборки Microsoft.Owin.Security.OpenIdConnect. Даже мы не можем найти способ добавления стандартного параметра запроса в запрос аутентификации (например, "параметр login_hint" ).
Например, у Google есть параметры "login_hint" и "hd" (https://developers.google.com/accounts/docs/OAuth2Login#sendauthrequest), и мы хотим иметь почти одинаковые параметры. Но мы даже не можем найти, как отправлять эти параметры в Google с помощью Owin. Пробовал этот код:
var googleOptions = new GoogleOAuth2AuthenticationOptions()
{
ClientId = "...",
ClientSecret = "...",
};
app.UseGoogleAuthentication(googleOptions);
...
public ActionResult ExternalLogin(string provider)
{
var ctx = Request.GetOwinContext();
var properties = new AuthenticationProperties();
properties.Dictionary.Add("login_hint ", "[email protected]");
properties.Dictionary.Add("hd", "hd");
ctx.Authentication.Challenge(properties, provider);
return new HttpUnauthorizedResult();
}
Но URL-адрес запроса аутентификации будет генерироваться без параметров "login_hint" и "hd".
Будем очень благодарны за помощь в решении этой проблемы.