1

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

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

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

我已经设法让它工作,但我认为在获得访问令牌并且应用程序已被用户授权后,我会迷失方向。

我在使用yahootwittergoogle (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 - 检查是否授予对应用程序的访问权限

Twitter - 已经有 OAuth 数据库,我怎么知道用户是谁?

我的应用程序的 Twitter api 授权

和一堆其他人,但他们都没有工作..

谢谢!

4

0 回答 0