Facebook graph api 使用oauth2服务(如facebook)授权我的应用访问第三方应用

Facebook graph api 使用oauth2服务(如facebook)授权我的应用访问第三方应用,facebook-graph-api,oauth-2.0,facebook-oauth,Facebook Graph Api,Oauth 2.0,Facebook Oauth,我正在使用facebook connect授权我网站上的用户,但我也会为用户弹出一个第三方服务。 这项第三方服务还使用facebook connect授权其用户 我不希望每个用户都被迫经历两次授权阶段。 有没有一种方法可以让用户在登录我的服务时授权第三方服务?获取一些令牌并在我弹出第三方服务时使用它 您可以使用Facebook SDK的getLoginStatus方法来确定用户是否已授权您的应用程序,并且当前已登录。如果用户使用FB登录到您的站点,他将不必再次登录 FB.getLoginStat

我正在使用facebook connect授权我网站上的用户,但我也会为用户弹出一个第三方服务。 这项第三方服务还使用facebook connect授权其用户

我不希望每个用户都被迫经历两次授权阶段。
有没有一种方法可以让用户在登录我的服务时授权第三方服务?获取一些令牌并在我弹出第三方服务时使用它

您可以使用Facebook SDK的
getLoginStatus
方法来确定用户是否已授权您的应用程序,并且当前已登录。如果用户使用FB登录到您的站点,他将不必再次登录

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    // the user is logged in and has authenticated your
    // app, and response.authResponse supplies
    // the user's ID, a valid access token, a signed
    // request, and the time the access token 
    // and signed request each expire
    var uid = response.authResponse.userID;
    var accessToken = response.authResponse.accessToken;
  } else if (response.status === 'not_authorized') {
    // the user is logged in to Facebook, 
    // but has not authenticated your app
  } else {
    // the user isn't logged in to Facebook.
  }
 });
因此,用户只需登录一次,只需第一次授权应用。您可以阅读有关此方法的更多信息