当用户通过谷歌应用程序授权并且我们有access_token时,是否可以通过浏览器对用户gmail收件箱或gdocs执行SSO?
这个想法是用户第一次访问我们的网站后,在用户授权我们访问其数据后,我们从googleapps获取用户个人资料,我们已经定义了对gmail和gdocs的访问权限。第一步已经解决,我们的数据库中已经有access_token和refresh_token(我们根本不存储任何密码),因此我们可以使用这些令牌离线连接到用户帐户。
我们的想法是提供一个sso机制,所以当用户在我们的系统中时,我们想要将他/她重定向到他/她的gmail收件箱,而不必再次输入他的密码,但是以任何方式使用access_token我们最初得到。
这可能吗?我读了一些关于saml或混合openid / oauth解决方案的内容,但没有得到任何明确的信息......所以任何人都可以帮助我?如果以access_token为参数向某个谷歌登录服务网址发帖请求,然后将用户自动重定向到它的gmail收件箱,那将是多么美好的事情......
有可能吗?
答案 0 :(得分:1)
大多数用户已经登录了他们的Google帐户,因为他们每天都会使用这些帐户来收发电子邮件,日历,文档和mnore。您应该只需将用户重定向到https://mail.google.com/即可。这适用于消费者Gmail帐户上的任何用户,也适用于使用'new style' Google Apps accounts的用户。
如果您的目标是为尚未登录其Google帐户的用户启用此功能,那么他们使用的Google Apps域需要将您的服务设置为其SAML提供商,从而允许您对用户进行身份验证他们的域名。这可以通过Google Apps控制面板或使用Admin Settings API完成。然后,您的应用程序会向Google“断言”用户的身份,Google会将用户登录。这会使用您提到的SAML service。