Module: Graphql::TokenHelper

Included in:
AuthHelper, Mutations::Auth::SignIn, Mutations::Auth::SignUp
Defined in:
app/helpers/graphql/token_helper.rb

Instance Method Summary collapse

Instance Method Details

#delete_refresh_token(user) ⇒ Object



23
24
25
# File 'app/helpers/graphql/token_helper.rb', line 23

def delete_refresh_token(user)
  user.update_column :refresh_token, nil if user.refresh_token.present?
end

#generate_access_token(user, response) ⇒ Object



7
8
9
10
11
# File 'app/helpers/graphql/token_helper.rb', line 7

def generate_access_token(user, response)
  token = GraphQL::Auth::JwtManager.issue_with_expiration({ user: user.id }) # TODO use uuid
  response.set_header 'Authorization', token
  response.set_header 'Expires', GraphQL::Auth::JwtManager.token_expiration(token)
end

#set_current_user(user) ⇒ Object



19
20
21
# File 'app/helpers/graphql/token_helper.rb', line 19

def set_current_user(user)
  context[:current_user] = user
end

#set_refresh_token(user, response) ⇒ Object



13
14
15
16
17
# File 'app/helpers/graphql/token_helper.rb', line 13

def set_refresh_token(user, response)
  refresh_token = user.refresh_token.presence || GraphQL::Auth::JwtManager.issue_without_expiration({ user: user.id })
  user.update_column :refresh_token, refresh_token
  response.set_header 'RefreshToken', refresh_token
end