Module: SyncAttrWithAuth0::Auth0
- Defined in:
- lib/sync_attr_with_auth0/auth0.rb
Class Method Summary collapse
- .create_auth0_client(api_version: 2, global_client_id: , global_client_secret: , client_id: , client_secret: , namespace: ) ⇒ Object
- .create_auth0_jwt(global_client_id: ENV['AUTH0_GLOBAL_CLIENT_ID'], global_client_secret: ENV['AUTH0_GLOBAL_CLIENT_SECRET']) ⇒ Object
Class Method Details
.create_auth0_client(api_version: 2, global_client_id: , global_client_secret: , client_id: , client_secret: , namespace: ) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/sync_attr_with_auth0/auth0.rb', line 23 def self.create_auth0_client( api_version: 2, global_client_id: ENV['AUTH0_GLOBAL_CLIENT_ID'], global_client_secret: ENV['AUTH0_GLOBAL_CLIENT_SECRET'], client_id: ENV['AUTH0_CLIENT_ID'], client_secret: ENV['AUTH0_CLIENT_SECRET'], namespace: ENV['AUTH0_DOMAIN'] ) case api_version when 1 auth0 = Auth0Client.new(client_id: client_id, client_secret: client_secret, namespace: namespace) when 2 jwt = SyncAttrWithAuth0::Auth0.create_auth0_jwt(global_client_id: global_client_id, global_client_secret: global_client_secret) auth0 = Auth0Client.new(api_version: 2, access_token: jwt, namespace: namespace) end return auth0 end |
.create_auth0_jwt(global_client_id: ENV['AUTH0_GLOBAL_CLIENT_ID'], global_client_secret: ENV['AUTH0_GLOBAL_CLIENT_SECRET']) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/sync_attr_with_auth0/auth0.rb', line 6 def self.create_auth0_jwt(global_client_id: ENV['AUTH0_GLOBAL_CLIENT_ID'], global_client_secret: ENV['AUTH0_GLOBAL_CLIENT_SECRET']) payload = { 'aud' => global_client_id, 'scopes' => { 'users' => { 'actions' => ['create', 'update', 'read'] } }, 'iat' => Time.now.to_i, 'jti' => UUIDTools::UUID..to_s } jwt = JWT.encode(payload, JWT.base64url_decode(global_client_secret)) return jwt end |