Laravel - OAuth2和Facebook

时间:2014-07-01 11:32:56

标签: php android facebook laravel oauth

我正在使用Laravel开发一个RESTful API,我想用OAuth实现以下场景(我正在使用以下包:https://github.com/lucadegasperi/oauth2-server-laravel):

  1. 用户登录Facebook并使用其移动设备授予权限;
  2. 移动设备将Facebook访问令牌发送到我的API,OAuth会生成我的应用程序特定访问令牌并将其返回给用户。
  3. 我已经为本地帐户实施了密码流程。有人可以解释一下如何实现上述情况吗?

1 个答案:

答案 0 :(得分:1)

我没有尝试过您提到的套餐,但我使用https://github.com/artdarek/oauth-4-laravel成功了。那里的例子应该让你轻松入手。

喜欢这个FB实现:

/**
 * Login user with facebook
 *
 * @return void
 */
public function loginWithFacebook() {

    // get data from input
    $code = Input::get( 'code' );

    // get fb service
    $fb = OAuth::consumer( 'Facebook' );

    // check if code is valid

    // if code is provided get user data and sign in
    if ( !empty( $code ) ) {

        // This was a callback request from facebook, get the token
        $token = $fb->requestAccessToken( $code );

        // Send a request with it
        $result = json_decode( $fb->request( '/me' ), true );

        $message = 'Your unique facebook user id is: ' . $result['id'] . ' and your name is ' . $result['name'];
        echo $message. "<br/>";

        //Var_dump
        //display whole array().
        dd($result);

    }
    // if not ask for permission first
    else {
        // get fb authorization
        $url = $fb->getAuthorizationUri();

        // return to facebook login url
         return Redirect::to( (string)$url );
    }
}