Sha256: ee2fb00e2687ff46d93f67489499e992fa07f53cebdde87596d2e0217fecc725
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
# frozen_string_literal: true require('aws-sdk-cognitoidentityprovider') module ConsoleTracker module Authenticators class CognitoAuthenticator attr_reader :username, :authenticator_settings def initialize @username = ConsoleTracker.user.name @authenticator_settings = ConsoleTracker.config.authenticator_settings end def authenticate(password) client.initiate_auth( auth_flow: 'USER_PASSWORD_AUTH', auth_parameters: { USERNAME: username, PASSWORD: password }, client_id: client_id ) end def change_temporary_password(session, new_password) client.respond_to_auth_challenge( challenge_name: 'NEW_PASSWORD_REQUIRED', challenge_responses: { USERNAME: username, NEW_PASSWORD: new_password }, client_id: client_id, session: session ) end private def client @client ||= Aws::CognitoIdentityProvider::Client.new( region: authenticator_settings[:region], access_key_id: authenticator_settings[:access_key_id], secret_access_key: authenticator_settings[:secret_access_key] ) end def client_id @client_id ||= authenticator_settings[:client_id] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
console_tracker-0.0.0.pre.beta3 | lib/console_tracker/authenticators/cognito.rb |
console_tracker-0.0.0.pre.beta2 | lib/console_tracker/authenticators/cognito.rb |