PHP Oauth客户端(1.0a和2.0):应用程序继续要求授权

时间:2013-07-01 04:08:47

标签: php oauth oauth-2.0 twitter-oauth yahoo-api

我是Oauth实施的新手,并且一直在网上搜索我可以使用的库,我找到了Manuel Lemos' Oauth Client

无论如何,我现在遇到的问题是关于每次会话到期时的重新授权。

我想使用facebook,twitter,yahoo和google在我的项目中实现Oauth。

我已设法让它正常工作,但我认为在获得访问令牌并且用户已授权应用程序后,我在某些时候丢失了。

我在 yahoo twitter google (Facebook除外)中遇到此问题,其中访问令牌(或会话)到期时再次使用这些“服务器”,它总是重定向回授权页面,并要求用户再次授权该应用程序。

我应该怎么做才能让雅虎,推特和谷歌只授权一次(撤销权限除外),当用户返回并再次使用它时,它会自动获取用户数据而无需再次授权?

这是执行请求的代码的一部分:

            if( ( $success = $client->Initialize() ) ) 
            {   

                if( ( $success = $client->Process() ) ) 
                {       

                    if( strlen( $client->access_token ) ) 
                    { 

                        $success = $client->CallAPI( 
                            $apiurl
                            , 'GET'
                            , $apiqry
                            , array( 'FailOnAccessError'=>true )
                            , $user);


                    }

                    elseif(strlen($client->authorization_error))
                    {
                        $client->error = $client->authorization_error;
                        $success = false;
                    }

                }

                $success = $client->Finalize($success);

            }

我尝试过以下解决方案,但没有运气:(

Twitter OAuth - checking if access to application is granted

Twitter - Already have OAuth database, how do I know who the user is?

Twitter api authorization of my application

以及其他一些人,但他们都没有工作..

谢谢!

0 个答案:

没有答案