处理来自身份服务器的回调

问题描述 投票:0回答:1

作为客户端应用,用户从身份服务器登录,并被重定向至 /signin-oidc 客户端应用的端点。/signin-oidc OpenId中间件已经自动处理了,所以我不能把我的注册用户流程放在第一次登录的时候。

在谷歌、Facebook或微软的外部登录过程中,有一个非常重要的问题。returnUrl 在成功登录后的重定向,我能够注入我的注册(保存用户信息)代码逻辑。

看来OpenId在这方面是不同的。那么正确的注册流程是什么?

oauth oauth-2.0 identityserver4 openid asp.net-core-3.1
1个回答
1
投票

你可以在OIDC OWIN中间件中使用通知事件,它的调用可以让开发者添加自定义逻辑。例如,你可以查询数据库,并在数据库中创建一个用户。OnTokenValidated 事件

options.Events = new OpenIdConnectEvents
{
    OnTokenValidated = ctx =>
    {
        //query the database 

        var db = ctx.HttpContext.RequestServices.GetRequiredService<YourDbContext>();

        //perform custom logic for user management in local database


        return Task.CompletedTask;
    },
};
© www.soinside.com 2019 - 2024. All rights reserved.