gpt4 book ai didi

asp.net-mvc - 登录时将声明保存到数据库

转载 作者:行者123 更新时间:2023-12-02 18:13:00 25 4
gpt4 key购买 nike

我有一个使用 Oauth 并正确登录的 MVC5 应用程序,但我想将返回的电子邮件保存到数据库中,但在执行此操作时遇到问题。

我在startup.auth.cs中有以下代码:

下面的代码很好地添加了声明,我可以在调试器中添加电子邮件声明,但是如果是用户首次登录,则此时实际上尚未创建用户,因此我无法在此处更新用户。

LinkedInAuthenticationOptions x = new LinkedInAuthenticationOptions();
x.ClientId = "key";
x.ClientSecret = "key";
x.Scope.Add("r_emailaddress");

x.Provider = new LinkedInAuthenticationProvider()
{
OnAuthenticated = async context =>
{
//Get the access token
context.Identity.AddClaim(
new System.Security.Claims.Claim("Email", context.Email));
}
};

app.UseLinkedInAuthentication(x);

在下面的代码中(在默认项目 accountcontroller.cs 中),我尝试访问上面添加的电子邮件声明,但无法找到该声明...

public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
ClaimsIdentity identity = UserManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
}

有人知道我如何访问我在startup.auth.cs中添加的电子邮件声明吗?

最佳答案

您想要执行与此博文类似的操作,只需存储电子邮件声明而不是 Facebook 访问 token 即可。

How to get more data from external providers?

关于asp.net-mvc - 登录时将声明保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com