2015-12-04 122 views
1
  1. 我目前正在实施Google OpenID以实现在我的网站上使用Google登录。继tutorial given by google。 它强调只有id_token是发送到后端服务器的东西。由于我使用Java作为后端,并且我无法在google api库中的id_token上找到类似getName()的方法。但我只能通过getEmail()检索电子邮件。如何从Google获取Name属性id_token

    那么如何在后端获取用户名?

  2. 此外,我意识到如果我只想验证用户的身份,OpenID是文档中推荐的,而不是Oauth2.0。我也尝试过实施Oauth2.0,但坚持其工作流程。

    这是我到目前为止得到的。

    • 按钮点击--->发送HTTP获取某些API
    • 该API调用得到和运行scribeJava代码
    • 我得到的Authorization url后,我怎么打开它为用户的弹出式窗口确认?
    • 确认后,如何将验证码发送回服务器?

我所知道的蓝图,但对具体的实施相当混乱。

任何帮助?

回答

-1
  1. 在我看来最好使用OAuth2:https://developers.google.com/identity/sign-in/web/reference#googleusergetbasicprofile然后你可以获取基本的用户配置文件,然后获取你想要的用户名。

fetch_basic_profile获取用户的基本个人资料时,他们 登录。又添‘个人资料’和‘电子邮件’所请求的范围。如果未指定 ,则为真。

  1. 我相信你可以在Javascript中使用google api(gapi)for Oauth。下面是文档:https://developers.google.com/api-client-library/javascript/features/authentication 所以在这里你可以找到一个示例代码是: How to authenticate with Google via OAuth 2.0 in a popup?

希望它能帮助:)

+0

HES询问的OpenID不是的oauth2。 –

+0

是JavaScript中的Oauth,代替JAVA/PHP api库吗?看起来它是做所有的事情,并利用前端工作 – Qiang