首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SocialBootstrapAPI经典注册和谷歌

SocialBootstrapAPI经典注册和谷歌
EN

Stack Overflow用户
提问于 2013-09-12 15:21:18
回答 1查看 49关注 0票数 1

WWhen我使用SocialBootstrapAPI项目创建了一个新的经典帐户,我在数据库中创建了一个新的UserAuth。

接下来,当我注销并尝试使用谷歌OpenID登录(使用与经典登录相同的电子邮件的谷歌帐户)而不是使用旧帐户时,它会创建一个新帐户:

这正常吗?如果不是,如何合并UserAuth?当我在自定义IUserAuthRepository中调试CreateOrMergeAuthSession时,userAuth总是一个新实例,因为带有authSession的GetUserAuth没有信息(电子邮件)来查找旧的经典UserAuth:

代码语言:javascript
复制
var userAuth = GetUserAuth(authSession, tokens) ?? new ServiceStack.ServiceInterface.Auth.UserAuth();

提前感谢你的帮助,

EN

回答 1

Stack Overflow用户

发布于 2013-09-12 23:03:17

我不知道这是不是一个好的解决方案,但它是有效的:

我已经编辑了以下方法:

代码语言:javascript
复制
public ServiceStack.ServiceInterface.Auth.UserAuth GetUserAuth(IAuthSession authSession, IOAuthTokens tokens)
{

}

我在令牌电子邮件上添加了一个控件:

代码语言:javascript
复制
if (tokens != null && !tokens.Email.IsNullOrEmpty())
{
    var userAuth = GetUserAuthByUserName(tokens.Email);
    if (userAuth != null) return userAuth;
}

所以它使用google mail账户上的电子邮件来获取我的旧userAuth。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18757910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档