Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

facebook user access token across different platforms

I was wondering if user access tokens that are recieved through one platform can be used to access and make facebook calls through another.

For example:

I have a mobile app and a web server that work together. A user signs in through facebook on the mobile app(through single-sign-on). The user then uses the mobile app in a way that an internal service requires that an external service call to facebook is necessary. The internal services relays this to the web server, and the web server makes the actual call to facebook.

Work flow:

  • User signs into mobile app

  • mobile app sends user access token + service call needed to web server

  • Web server makes external call to facebook and returns information to mobile app.

So in short, the mobile app is not making the facebook calls, but the web server is.

My question is that if I authenticate a user through the mobile app, can I pass(and store) the users access token and use that to make calls to facebook through the web server?

like image 919
ormble Avatar asked Aug 20 '12 19:08

ormble


People also ask

Does Facebook use token based authentication?

When your app uses Facebook Login to authenticate someone, it receives a User access token. If your app uses one of the Facebook SDKs, this token lasts for about 60 days. However, the SDKs automatically refresh the token whenever the person uses your app, so the tokens expire 60 days after last use.

What token does Facebook use?

Page access tokens are used in Graph API calls to manage Facebook Pages. To generate a page access token, an admin of the page must grant your app the Page permission or permissions needed. Once granted, you can retrieve the Page access token using a user access token with the required permissions.

What is FB exchange token?

Facebook sends a code back to your server and you securely send this code to the client. The client uses this code to request a long-lived token from Facebook. Facebook sends the client a long-lived token which is used to post stories or query data.


1 Answers

The answer is yes.

I've done this successfully with mobile SDKs (Android & iOS) using the Facebook authentication to obtain an access token, then passing this access token to a PHP web application which successfully uses it with the PHP SDK client library.

The access token is also the only piece of information that needs to be transmitted.

As long as the application key and secret are the same on both clients, an access token should be valid on either.

like image 151
Tharsan Avatar answered Oct 14 '22 13:10

Tharsan