class Hieraviz::AuthGitlab
class to manage gitlab oauth2 connection and authorization checks
Public Class Methods
new(settings)
click to toggle source
# File lib/hieraviz/auth_gitlab.rb, line 9 def initialize(settings) @settings = settings @client = OAuth2::Client.new( @settings['application_id'], @settings['secret'], site: @settings['host'] ) end
Public Instance Methods
access_token(request, code)
click to toggle source
# File lib/hieraviz/auth_gitlab.rb, line 18 def access_token(request, code) @client.auth_code.get_token(code, redirect_uri: redirect_uri(request.url)) end
get_response(url, token)
click to toggle source
# File lib/hieraviz/auth_gitlab.rb, line 22 def get_response(url, token) a_token = OAuth2::AccessToken.new(@client, token) begin JSON.parse(a_token.get(url).body) rescue StandardError => error { 'error' => JSON.parse(error.message.split(/\n/)[1])['message'] } end end
login_url(request)
click to toggle source
# File lib/hieraviz/auth_gitlab.rb, line 31 def login_url(request) @client.auth_code.authorize_url(redirect_uri: redirect_uri(request.url)) end
user_info(token)
click to toggle source
# File lib/hieraviz/auth_gitlab.rb, line 55 def user_info(token) get_response('/api/v3/user', token) end