【问题标题】:authenticate users from specific domain using google+ api使用 google+ api 对来自特定域的用户进行身份验证
【发布时间】:2014-01-28 02:23:35
【问题描述】:

我正在尝试使用 google+ api 对内部应用程序的用户进行身份验证。我不需要任何用户详细信息或个人资料数据,我只需要从正确的托管域 (hd) 对我的用户进行身份验证。我目前正在使用来自谷歌开发人员的 javascript 快速入门,并将问题缩小到构成对象“authResult”的数据属性:

data-scope="openid" + "hd=example.com"
data-clientId="307521491002-2sducfmnk2kue3th4emtc5bu1t27nn9g.apps.googleusercontent.com"
data-callback="onSignInCallback"
data-theme="light"
data-cookiepolicy="single_host_origin">

通过梳理文档并发现堆栈溢出的类似问题,我了解到我的主要问题在于范围参数“hd=example.com”只允许来自特定域的用户进行身份验证,我只是没有找到正确的方法。想法?

非常感谢!!

jsfiddle

【问题讨论】:

    标签: javascript authentication oauth google-plus


    【解决方案1】:

    正确的托管域是什么意思?

    来自文档:

    仅对 Google Apps 托管帐户使用 hd 参数

    【讨论】:

    • “托管域”(或 hd)是指由 google 托管的帐户……一个典型的例子是在其域(例如:bigco.com)下运行其电子邮件的组或公司,而仍然是一系列 gmail 帐户。
    【解决方案2】:

    老实说,我以前从未见过这种情况,而且我还没有找到将 hd 参数包含在范围的一部分的参考。 (你有这方面的参考吗?我很好奇。)但是......

    ...data-scope 参数的语法显然是错误的。这不是有效的 HTML 标记。如果 hd 部分应该是范围的一部分,它可能应该更像

    data-scope="openid hd=example.com"
    

    【讨论】:

    • 是的,我一发布就意识到...范围由范围参数中的空格表示...这里有两个链接,包括范围参数“hd”...@987654321 @developers.google.com/accounts/docs/OAuth2Login出于安全考虑,我目前决定在服务器端处理此问题,并将根据我的发现进行更新。
    猜你喜欢
    • 2012-11-20
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多