2020-02-11 08:57:38 +00:00
|
|
|
class Twitter::AuthorizationsController < Twitter::BaseController
|
|
|
|
def create
|
|
|
|
@response = twitter_client.request_oauth_token(url: twitter_callback_url)
|
|
|
|
|
|
|
|
if @response.status == '200'
|
|
|
|
::Redis::Alfred.setex(oauth_token, account.id)
|
|
|
|
redirect_to oauth_authorize_endpoint(oauth_token)
|
|
|
|
else
|
2020-04-19 18:10:28 +00:00
|
|
|
redirect_to app_new_twitter_inbox_url(account_id: account.id)
|
2020-02-11 08:57:38 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def oauth_token
|
|
|
|
parsed_body['oauth_token']
|
|
|
|
end
|
|
|
|
|
|
|
|
def user
|
|
|
|
@user ||= User.find_by(id: params[:user_id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def account
|
|
|
|
@account ||= user.account
|
|
|
|
end
|
|
|
|
|
|
|
|
def oauth_authorize_endpoint(oauth_token)
|
|
|
|
"#{twitter_api_base_url}/oauth/authorize?oauth_token=#{oauth_token}"
|
|
|
|
end
|
|
|
|
end
|