grails - 如何将google帐户链接到本地​​帐户以进行google oauth2登录

标签 grails spring-security oauth-2.0 grails-plugin google-oauth

我想从正常的用户名和密码登录名切换为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/

相关文章:

grails - 除了 Grails 之外,还有轻量级的 Groovy Web 框架吗?

grails - 为什么groovy跳过每个语句

java - 使用 Spring Security OAuth2 验证不同的用户类型

java - 为 withCredentials 指定 CORS header : true

database - 如何使用 Liquibase 删除 Grails 中的索引

grails - 如何在netbeans 9中打开grails 3.3应用程序?

Spring Security 3.1 注销后重定向

cordova - Phonegap 上的 OAuth2.0 教程?

android - 如何使用 Android 帐户管理器处理刷新 token

asp.net-web-api - 如何使用资源所有者流程和 JavaScript 客户端添加声明以从 IdentityServer3 获取访问 token