Я пытаюсь полностью понять, что может обеспечить OpenId Connect и как.
Я перечислю сомнения, чтобы вы могли ответить на них по порядку.
A) Контекст: представьте, что существует защищенный ресурс "Phone.Api" со следующими областями действия: "scope.admin", "scope.read" и "scope.write". Мы получаем к нему доступ, используя веб-клиент MVC под названием «phone.Client»
a.1) Представьте, что «Супермастер Билли» и «Стандарт Джин» используют оба клиента. Как мне получить "scope.admin" для Billy и "scope.read" для jean, если они используют один и тот же клиент?
a.2) Должен ли "phone.Client" добавить каждую область в запросе access_token? Потому что, когда я определяю параметры аутентификации в моем клиенте, я должен определить области, которые будут запрашиваться пользователю.
services.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = "http://localhost:4000";
options.RequireHttpsMetadata = false;
options.ClientId = "phone.client";
options.ClientSecret = "secret";
options.ResponseType = "code id_token";
options.Scope.Add("scope.admin"); //here I should request all scopes?? what happens if I don`t want Jean to have scope.admin ?
options.Scope.Add("scope.read");
options.Scope.Add("scope.write");
options.GetClaimsFromUserInfoEndpoint = true;
options.SaveTokens = true;
});
Я не понимаю, как мне задать разные области (внутри access_token), используя один и тот же клиент.
a3) Представьте себе клиента, всегда запрашивайте все доступные ему области. Это может быть правильно, так как это то, что клиенту разрешено делать, несмотря на пользовательские разрешения внутри приложения. Это правильно?
B) Open Id connect, когда говорится, что он обеспечивает аутентификацию и авторизацию, о которых идет речь. Какие из моих предположений верны?
b1) Аутентификация пользователя централизованным способом (с использованием централизованного провайдера идентификации)
b2) Пользователи авторизуют Клиентов для доступа к защищенным ресурсам от его имени?
b3) Сервер разрешает клиентам доступ к проектированным ресурсам
Большое спасибо !!