首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的网站中使用OpenID+OAuth?

如何在我的网站中使用OpenID+OAuth?
EN

Stack Overflow用户
提问于 2011-01-04 21:52:34
回答 2查看 1.5K关注 0票数 2

我想使用谷歌账号登录我的网站,现在我可以使用谷歌账号登录(通过OpenID),但我不知道如何在谷歌中获取用户账号和信息?就像下面的链接(由谷歌提供)

http://googlecodesamples.com/hybrid/

这个链接可以通过用户的谷歌帐户登录,并列出用户的谷歌文档中的所有文档,所以我猜通过使用OAuth可以让我获得用户的帐户(如example@gmail.com)和相关信息,但我不知道该怎么做?

PS。我用php写我的网站。

EN

回答 2

Stack Overflow用户

发布于 2011-01-27 04:58:59

我不能为您编写整个代码,但我会试着给您一个大致的概述。

示例请求URL:

代码语言:javascript
复制
https://www.google.com/accounts/o8/id
?openid.ns=http://specs.openid.net/auth/2.0
&openid.ns.pape=http://specs.openid.net/extensions/pape/1.0
&openid.ns.max_auth_age=300
&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select
&openid.identity=http://specs.openid.net/auth/2.0/identifier_select
&openid.return_to=http://www.example.com/checkauth
&openid.realm=http://www.example.com/
&openid.assoc_handle=ABSmpf6DNMw
&openid.mode=checkid_setup
&openid.ui.ns=http://specs.openid.net/extensions/ui/1.0
&openid.ui.mode=popup
&openid.ui.icon=true
&openid.ns.ax=http://openid.net/srv/ax/1.0
&openid.ax.mode=fetch_request
&openid.ax.type.email=http://axschema.org/contact/email
&openid.ax.type.language=http://axschema.org/pref/language
&openid.ax.required=email,language 

然后,您应该会收到此响应URL,作为您需要拦截的重定向:

代码语言:javascript
复制
http://www.example.com/checkauth
?openid.ns=http://specs.openid.net/auth/2.0 
&openid.mode=id_res
&openid.op_endpoint=https://www.google.com/accounts/o8/ud
&openid.response_nonce=2008-09-18T04:14:41Zt6shNlcz-MBdaw
&openid.return_to=http://www.example.com:8080/checkauth
&openid.assoc_handle=ABSmpf6DNMw
&openid.signed=op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle
&openid.sig=s/gfiWSVLBQcmkjvsKvbIShczH2NOisjzBLZOsfizkI=     &openid.identity=https://www.google.com/accounts/o8/id/id=ACyQatixLeLODscWvwqsCXWQ2sa3RRaBhaKTkcsvUElI6tNHIQ1_egX_wt1x3fAY983DpW4UQV_U
&openid.claimed_id=https://www.google.com/accounts/o8/id/id=ACyQatixLeLODscWvwqsCXWQ2sa3RRaBhaKTkcsvUElI6tNHIQ1_egX_wt1x3fAY983DpW4UQV_U 

一旦你得到了那个URL,你就都准备好了!希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2014-04-24 21:27:36

您可能希望使用现有的身份验证解决方案,而不是重新发明轮子:-)因为您没有指定正在使用哪种服务器脚本语言,例如,对于PHP,请看一下:

http://opauth.org/

它非常容易实现,不仅支持google帐户,还支持许多其他帐户。它还会提取出一些您感兴趣的帐户信息。

..。或者谷歌搜索"openID身份验证框架“或"oauth框架”:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4594351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档