Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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后端和客户端作为web和android进行Google注册/登录_Php_Android_Google Api Php Client_Restangular_Cartalyst Sentinel - Fatal编程技术网

使用PHP后端和客户端作为web和android进行Google注册/登录

使用PHP后端和客户端作为web和android进行Google注册/登录,php,android,google-api-php-client,restangular,cartalyst-sentinel,Php,Android,Google Api Php Client,Restangular,Cartalyst Sentinel,所以我尝试在我的应用程序中实现Google登录。在客户端,我有一个android应用程序和一个web应用程序,它们与PHP中的restful API服务器交互(Cartalyst Sentinel 2.0用于身份验证) 我面临多个问题 重定向URI //设置google api客户端 $client=新的Google_客户端(); $client->setClientId($client\u ID\u WEB); $client->setClientSecret($client\u SECRET

所以我尝试在我的应用程序中实现Google登录。在客户端,我有一个android应用程序和一个web应用程序,它们与PHP中的restful API服务器交互(Cartalyst Sentinel 2.0用于身份验证)

我面临多个问题

  • 重定向URI

    //设置google api客户端
    $client=新的Google_客户端();
    $client->setClientId($client\u ID\u WEB);
    $client->setClientSecret($client\u SECRET\u WEB);
    $client->setRedirectUri($redirectUri);
    $client->setScopes(阵列)https://www.googleapis.com/auth/userinfo.email','https://www.googleapis.com/auth/userinfo.profile','https://www.googleapis.com/auth/plus.me'));

    要实例化客户端,我需要提供重定向Uri。现在,在客户端是webApp的情况下,似乎没有问题,因为我在客户端和服务器端提供了相同的重定向URI。但对于android来说,没有重定向URI。我在某个地方读到,“postmessage”作为重定向uri是有效的,但对我来说不起作用。如果没有重定向URI,客户端将抛出错误“无效json令牌”

  • 有什么帮助吗

  • cartalyst\u sentinelcookie在来自web客户端的请求中为null
  • 在通过凭据进行正常登录(api.domain.xyz/login)的情况下,似乎没有问题。但是,当我在服务器端从不同的路径(api.domain.xyz/blabla/google/login)登录客户端时,cartalyst_sentinel cookie的值变为null,即使设置的cookie头作为响应头发送。 设置发送的Cookie头(有两个,这让我担心,但在本机登录的情况下也是如此)

    在登录后的请求中,cookie将变为null

    到目前为止,我已经读了很多关于这些问题的书,并尝试了n种方法,但似乎都不起作用

    只有两件事似乎有点道理

    • 重定向URI的情况可以通过使用配置文件(google json或开发者密钥)实例化google api客户机进行分类

    • 缺少cookie的情况是由于跨域cookie,或者可能是由于通过嵌套路由进行登录(我知道这听起来很傻,但在谷歌的某个地方可以找到)

    谢谢你的帮助