Я пытаюсь создать клиентское приложение 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;
});