Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Twitter oauth refresh token

I have watched some videos on authenticating using oauth and have gotten the authentication part going but I have the following of questions.

Q1- Do access tokens expire?

Q2 -Do I have to make the user go through the whole user authentication process (with user authenticating the app again) once the twitter access token expires?

Q3-Is offline access to user's content possible once we have the access token

Ok so just to give some more context this is the scenario I have. Basically our mobile app is looking to integrate with twitter and there is a server side to it which needs to munch user's twitter feeds. And this is how we are thinking of doing it. Once the user authenticates our app using the mobile platform, we want to store this user access token in our server, poll his feeds at regular intervals and do some data munching on his feeds. For that we need

-Offline access to user's data -Get a new access token without user's intervention if the previous one expires preferrably on the server side.

We don't want to have to go through user authenticating our app again.

like image 252
Abdul Rahman Avatar asked Jan 07 '13 10:01

Abdul Rahman


People also ask

How do I get my Twitter refresh token?

A refresh token allows an application to obtain a new access token without prompting the user. You can create a refresh token by making a POST request to the following endpoint: https://api.twitter.com/2/oauth2/token You will need to add in the Content-Type of application/x-www-form-urlencoded via a header.

How do I get my Twitter OAuth token?

Generating access tokensLogin to your Twitter account on developer.twitter.com. Navigate to the Twitter app dashboard and open the Twitter app for which you would like to generate access tokens. Navigate to the "Keys and Tokens" page. Select 'Create' under the "Access token & access token secret" section.

How long do Twitter OAuth tokens last?

Long-lived tokens expire in 60 days (see Facebook Expiration and Extension of Access Tokens). Twitter: Access tokens don't expire (see Twitter OAuth FAQ).

Does Twitter use OAuth?

Twitter allows you to obtain user access tokens through the 3-legged OAuth flow, which allows your application to obtain an access token and access token secret by redirecting a user to Twitter and having them authorize your application.


1 Answers

The OAuth 2 spec is written in such a way that expired access tokens are a supported use case. Search for "expire" in https://www.rfc-editor.org/rfc/rfc6749 for example.

That said, the Twitter OAuth FAQ states:

We do not currently expire access tokens. Your access token will be invalid if a user explicitly rejects your application from their settings or if a Twitter admin suspends your application. If your application is suspended there will be a note on your application page saying that it has been suspended.

To clarify, Twitter's use of OAuth is much more basic than Facebook's or Google's. For details and further help, Google is your friend. ;-)

like image 179
Louis St-Amour Avatar answered Sep 28 '22 15:09

Louis St-Amour