Я настроили API SDK Facebook для ColdFusion - https://github.com/affinitiz/facebook-cf-sdkFacebook OAuthException - этот код авторизации истек. [Код = 100]
Я настроить процесс входа в систему, которая работает успешно, но через 10 минут или около того, когда я вернусь и обновить страницу, она показывает следующее ошибка:
Срок действия этого авторизационного кода истек. [code = 100]
Есть ли что-то, что мне не хватает в FB? Должен ли я проверять что-то вручную, чтобы сохранить сессию?
Cheers
Шон
<cfscript>
import facebook.sdk.FacebookApp;
import facebook.sdk.FacebookGraphAPI;
// Replace this with your appId and secret
APP_ID = "";
SECRET_KEY = "";
SCOPE = "publish_stream";
if (APP_ID is "" or SECRET_KEY is "") {
// App not configured
facebookGraphAPI = new FacebookGraphAPI();
} else {
// Create facebookApp instance
facebookApp = new FacebookApp(appId=APP_ID, secretKey=SECRET_KEY);
// See if there is a user from a cookie or session
userId = facebookApp.getUserId();
if (userId) {
try {
userAccessToken = facebookApp.getUserAccessToken();
facebookGraphAPI = new FacebookGraphAPI(accessToken=userAccessToken, appId=APP_ID);
userObject = facebookGraphAPI.getObject(id=userId);
userFriends = facebookGraphAPI.getConnections(id=userId, type='friends', limit=10);
authenticated = true;
} catch (any exception) {
// Usually an invalid session (OAuthInvalidTokenException), for example if the user logged out from facebook.com
// this is where the error occurs
userId = 0;
facebookGraphAPI = new FacebookGraphAPI();
}
} else {
facebookGraphAPI = new FacebookGraphAPI();
}
// Login or logout url will be needed depending on current user state.
if (userId) {
logoutUrl = facebookApp.getLogoutUrl();
} else {
parameters = {scope=SCOPE};
loginUrl = facebookApp.getLoginUrl(parameters);
}
}
Есть ли член 'expires_in' в одном из ответов OAuth? –
Не то, чтобы я заметил. Что странно, но если вы снова обновляете страницу, логин снова активируется. Есть идеи? –
«Код» предполагается использовать один раз, сразу после его получения, чтобы получить токен доступа - вы используете токен доступа для вызова API - пытаетесь ли вы использовать один и тот же код более одного раза? – Igy