Class: LogStash::Outputs::MicrosoftSentinelOutputInternal::LogAnalyticsMiTokenProvider
- Inherits:
-
Object
- Object
- LogStash::Outputs::MicrosoftSentinelOutputInternal::LogAnalyticsMiTokenProvider
- Defined in:
- lib/logstash/sentinel_la/logAnalyticsMiTokenProvider.rb
Instance Method Summary collapse
- #get_aad_token_bearer ⇒ Object
-
#initialize(logstashLoganalyticsConfiguration) ⇒ LogAnalyticsMiTokenProvider
constructor
A new instance of LogAnalyticsMiTokenProvider.
Constructor Details
#initialize(logstashLoganalyticsConfiguration) ⇒ LogAnalyticsMiTokenProvider
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/logstash/sentinel_la/logAnalyticsMiTokenProvider.rb', line 11 def initialize (logstashLoganalyticsConfiguration) scope = CGI.escape("#{logstashLoganalyticsConfiguration.get_monitor_endpoint}") @token_request_uri = sprintf("http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=%s", scope) # https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-to-use-vm-token @token_state = { :access_token => nil, :expiry_time => nil, :token_details_mutex => Mutex.new, } @logger = logstashLoganalyticsConfiguration.logger @logstashLoganalyticsConfiguration = logstashLoganalyticsConfiguration end |
Instance Method Details
#get_aad_token_bearer ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/logstash/sentinel_la/logAnalyticsMiTokenProvider.rb', line 27 def get_aad_token_bearer() @token_state[:token_details_mutex].synchronize do if is_saved_token_need_refresh() refresh_saved_token() end return @token_state[:access_token] end end |