在配置OpenIdConnectOptions.CallbackPath
in 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
我在这做错了什么?
CallbackPath
是服务器在身份验证后重定向的路径。它由OIDC中间件本身自动处理,我们不需要在我们的应用程序中创建它,中间件将处理这个。
您可以在OIDC OWIN Middlerware中使用notification events,该调用可以使开发人员控制身份验证过程。例如,AuthorizationCodeReceived
事件可用于使用授权代码获取访问令牌。