Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为潜在的身份验证端点使用多个服务_Php_Android_Cakephp_Oauth_Openid - Fatal编程技术网

Php 为潜在的身份验证端点使用多个服务

Php 为潜在的身份验证端点使用多个服务,php,android,cakephp,oauth,openid,Php,Android,Cakephp,Oauth,Openid,我正在编写一个Android应用程序,它要求人们识别自己的身份。我们认为最好的做法是不要让人们在我们的服务器上注册,因为实际上每个人都在其他地方有一个拥有主要服务的帐户(例如谷歌、推特、Facebook、雅虎) RESTAPI是围绕CakePHP构建的。这本身并不是我所需要的问题的症结所在,但问题更多地在于Android应用程序及其与API的通信。基本上,我希望看到的是一个拥有X台设备的用户能够登录到他们已经可以访问的服务 然后,我们的服务器会将此标识作为该用户的标识。然后,我的应用程序需要一种

我正在编写一个Android应用程序,它要求人们识别自己的身份。我们认为最好的做法是不要让人们在我们的服务器上注册,因为实际上每个人都在其他地方有一个拥有主要服务的帐户(例如谷歌、推特、Facebook、雅虎)

RESTAPI是围绕CakePHP构建的。这本身并不是我所需要的问题的症结所在,但问题更多地在于Android应用程序及其与API的通信。基本上,我希望看到的是一个拥有X台设备的用户能够登录到他们已经可以访问的服务

然后,我们的服务器会将此标识作为该用户的标识。然后,我的应用程序需要一种方式来告诉我们的API“我是来自service example.com的John Doe,这是证据”。服务器还将接受具有相同身份的新设备,并将其绑定到该用户

我在这里遇到了一些问题:

  • OpenID似乎是一条出路(尽管我不确定Twitter是否支持OpenID)。但是我如何从我的设备上进行OpenID呢我不需要有人告诉我OpenID for Java。这不是我想要的100%答案。网站将重定向到哪里
  • 我的Web服务器和Android应用程序之间的身份验证是什么样的?我没有登录。我用的是OpenID。我是否应该只获取部分/全部OpenID信息并将其传递给Web服务器进行存储,然后再次传递它以检查每个API调用

    • 推特不仅提供OpenID,而且还讨论了流量是什么以及需要存储什么。谷歌为他们的登录设置了一个新的密码。OpenID登录流(大部分)是OAuth2。

      不,它们是不同的。这个例子不是OpenID,而是OAuth。他们的工作方式相似,但做的事情不同。OpenID就像你的驾照和汽车注册,而OAuth是汽车的钥匙。它们的相似之处在于它们使用由第三方服务器验证的身份验证凭据。GoogleOpenID流返回OAuth令牌和密码。它们用于不同的目的,但是它们开始合并到一个protocolNo中,有一个特定的OpenID/OAuth模式,用于Google之类的事情。您链接到的页面似乎不符合OpenIDAPI标准,并且与OpenID无关。我仍然可以在OAuth中查找Twitter之类的东西,但这就引出了我应该在服务器上存储什么的问题。如果您想知道,openid和OAuth之间的区别如下所示:从我链接到的Google网页:“这里描述的Google端点与OpenID Connect规范保持一致,在撰写本文时,OpenID Connect规范处于早期起草阶段。作为参考,OpenID连接规范与OAuth 2.0协议非常相似。这些Google端点将随着规范的成熟而更新。”