OpenIdConnect: ручная обработка обратного вызова - PullRequest
0 голосов
/ 28 марта 2019

При настройке OpenIdConnectOptions.CallbackPath в asp.core можем ли мы предоставить собственный контроллер / метод действия для перехвата кода, возвращаемого с сервера OIDC?

Я настроил контроллер / метод действия для обработки возвращаемого кода и в классе Startup.cs добавил эту опцию:

.AddOpenIdConnect("oidc", options =>
{
  //other options
  options.CallbackPath = new PathString("/oidc/codehandler");
}

Но метод действия никогда не вызывается, хотя я вижу, что после входа в систему происходит перенаправление:

http://myserver.com/oidc/codehandler?scope=openid&state=abc123&code=xyz456

Что я здесь не так делаю?

1 Ответ

1 голос
/ 29 марта 2019

CallbackPath - это путь, по которому сервер будет перенаправлять после аутентификации. Он автоматически обрабатывается самим промежуточным программным обеспечением OIDC. Нам не нужно создавать это в нашем приложении, промежуточное программное обеспечение справится с этим.

Вы можете использовать события уведомлений в OIDC OWIN Middlerware, который активирует контроль разработчика над процессом аутентификации. Например, событие AuthorizationCodeReceived может использоваться для получения токена доступа с использованием кода авторизации.

...