我想从正常的用户名和密码登录名切换为Spring Security OAuth插件的 Google。我已经尽可能让用户登录Google并检索他的电子邮件地址和用户名。我已经在用户表中将电子邮件地址作为我的实体之一,因此我该如何匹配从他的登录名中获得的电子邮件到我网域中的那个,以识别 Spring 用户。
最佳答案
最好的方法是创建将UserConnection与User关联的域。例如,它将是SocialAccount。用户通过Google+登录后,您只需要检查此UserConnection是否存在SocialAccount(如果是)-因此您有一个用户(如果没有)-创建一个新用户
例如领域模型(Domain Model)
class SocialAccount {
static belongsTo = [fan: Fan, connection: UserConnection]
}
并且您应该更新User类:
class User {
static hasMany = [accounts: SocialAccount]
}
希望对您有所帮助
关于grails - 如何将google帐户链接到本地帐户以进行google oauth2登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531614/