K, ребята, поэтому я работал с API dialybooth и OAauth, поэтому сначала у меня был прямой
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
#on user return grab the code from the query string
dailybooth.oauth_token(params[:code])
#make request to the api
pp dailybooth.get('/users.json')
Проблема была в том, что он постоянно перенаправлял, потому что он даже не проверял,oauth_token был установлен, и тогда я сделал это;
unless dailybooth.oauth_token(params[:code])
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
#on user return grab the code from the query string
dailybooth.oauth_token(params[:code])
end
#make request to the api
pp dailybooth.get('/users.json')
Теперь это отправляет меня на страницу авторизации dailybooth, авторизованный пользователь, затем отправляется на мою страницу, и я получаю доступ к их учетной записи (массив с информацией о пользователе был возвращен), дело в том, что если вы обновили токен, он больше не существовал, и пользователю пришлось повторно авторизоваться.
Итак, я попытался сохранить oauth_token в сеансе,
if session[:oauth_code] #If session is set
dailybooth.oauth_token(session[:oauth_code]) #sign in using cookie
else
if params[:code]
@oauth_token_ = params[:code]
session[:oauth_code] = @oauth_token_
else
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
end
end
#make request to the api
@info = dailybooth.get('/users.json')
if @info['error']
if @info['error']['error_code']
if @info['error']['error_code'] == 302 #if getting invalid token, request another token.
session[:oauth_code] = nil
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
end
end
end
Я все еще получаю то же самое, когда впервые захожу на свой сайт, и меня перенаправляютна страницу авторизации он авторизуется, затем я получаю доступ к учетной записи, но когда я пытаюсь вернуться к индексу, он говорит, что oauth_token недействителен.Любая помощь?