Sha256: a42135e96d34043ec427f37ff187a15a054802091a3fabe0dc60ed6e02d9bd3f
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
require 'omniauth-oauth2' module OmniAuth module Strategies # OmniAuth OAuth2 Strategy for Younility API class Younility < OmniAuth::Strategies::OAuth2 option :name, "younility" option :client_options, { site: 'https://app.younility.com', authorize_url: '/api/oauth/authorize', token_url: '/api/oauth/token' } def authorize_params super.tap do |params| params[:response_type] = 'code' params[:client_id] = client.id params[:redirect_uri] ||= callback_url end end def request_phase super end uid do raw_info['id'] end info do { 'id' => raw_info['id'], 'name' => raw_info['name'], 'email' => raw_info['email'], 'default_organization_id' => raw_info['default_organization_id'], 'default_role' => raw_info['default_role'] } end def raw_info @raw_info ||= access_token.get('/api/v0/whoami').parsed end def build_access_token token_params = { code: request.params['code'], redirect_uri: callback_url, client_id: client.id, client_secret: client.secret, grant_type: 'authorization_code' } client.get_token token_params end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-younility-1.0.0 | lib/omniauth/strategies/younility.rb |