Чистое ядро ​​MVC OAuth с пользовательским атрибутом в URL авторизации - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь создать клиентское приложение MVC .net core, используя oAuth2 для получения токена для получения доступа к некоторым защищенным API.

Для URL-адреса авторизации требуются следующие параметры URL:

  • scope
  • response_type
  • redirect_uri
  • client_id
  • unit_reference

Я знаю, как установить большинствоих, за исключением "unit_reference".Это пользовательский параметр авторизации.

URL-адрес должен выглядеть следующим образом: https://auth.test.com/Account/Login?scope=acc&unit_reference=9999&response_type=code&redirect_uri=https%3A%2F%2Flocalhost&client_id=ffffffff-ffff-ffff-ffff-fffffffff&state=state_this

Это мой код в Startup.cs. ConfigureServices:

services.AddAuthentication(options =>
{
    options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = "AccessProvider";
})
.AddCookie()
.AddOAuth("AccessProvider", options =>
{
    options.ClientId = Configuration["AccessProvider:ClientId"];
    options.ClientSecret = Configuration["AccessProvider:ClientSecret"];
    options.CallbackPath = new PathString("/Account");
    options.Scope.Add("acc");

    // Missing unit_reference

    options.AuthorizationEndpoint = "https://auth.test.com/Account/Login";
    options.TokenEndpoint = "https://auth.test.com/Token";

    options.SaveTokens = true;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...