Генерируйте токены доступа на всю жизнь и используйте их вместе с потоком авторизации - PullRequest
0 голосов
/ 27 марта 2020

Я не знаю, возможно ли это сделать, и не смог найти никакой информации, поэтому я хотел бы спросить здесь, прежде чем начать потенциально тратить на это время. В настоящее время у меня есть. NET веб-API, использующий поток предоставления кода авторизации для аутентификации. Пользователи входят в систему, Azure AD выдает токен, и это проверяется серверной частью с использованием этого кода:

                .AddAuthentication(options =>
                {
                    options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
                })
                .AddJwtBearer(options =>
                {
                    options.Authority = $"{authentication.Instance}{authentication.TenantId}";
                    options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
                    {
                        ValidAudience = $"{authentication.ClientId}",
                        ValidIssuer = $"{authentication.Instance}{authentication.TenantId}/v2.0"
                    };
                });

Конечные точки затем защищаются тегом [Authorize].

Что мне интересно, если возможно, это создать конечную точку, которая может быть вызвана из внешнего интерфейса, которая будет генерировать маркер доступа на весь срок действия для пользователя, который в данный момент вошел в систему. Этот токен доступа может затем использоваться на определенных конечные точки. Однако эти конечные точки все еще будут защищены аутентификацией по умолчанию. Так есть ли способ аутентификации с использованием EITHER токена Jwt по умолчанию, выданного Azure AD, ИЛИ токена, сгенерированного веб-API? И как лучше всего сгенерировать этот токен программно? Я также планирую создать конечную точку для удаления этих маркеров времени жизни.

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