Class: OpenC3::OpenC3KeycloakAuthentication
- Inherits:
-
OpenC3Authentication
- Object
- OpenC3Authentication
- OpenC3::OpenC3KeycloakAuthentication
- Defined in:
- lib/openc3/utilities/authentication.rb
Overview
OpenC3 enterprise Keycloak authentication code
Instance Method Summary collapse
-
#initialize(url) ⇒ OpenC3KeycloakAuthentication
constructor
A new instance of OpenC3KeycloakAuthentication.
-
#token ⇒ Object
Load the token from the environment.
Constructor Details
#initialize(url) ⇒ OpenC3KeycloakAuthentication
Returns a new instance of OpenC3KeycloakAuthentication.
59 60 61 62 63 64 65 66 67 |
# File 'lib/openc3/utilities/authentication.rb', line 59 def initialize(url) @url = url @auth_mutex = Mutex.new @refresh_token = nil @expires_at = nil @refresh_expires_at = nil @token = nil @log = [nil, nil] end |
Instance Method Details
#token ⇒ Object
Load the token from the environment
70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/openc3/utilities/authentication.rb', line 70 def token() @auth_mutex.synchronize do @log = [nil, nil] current_time = Time.now.to_i if @token.nil? _make_token(current_time) elsif @refresh_expires_at < current_time _make_token(current_time) elsif @expires_at < current_time _refresh_token(current_time) end end "Bearer #{@token}" end |