Class: Teems::Services::TokenExtractor
- Inherits:
-
Object
- Object
- Teems::Services::TokenExtractor
- Includes:
- HeadlessExtract, SafariAutomation, SafariOAuth, TokenExchangeScripts, TokenExchanger, TokenExtractorScripts, TokenPolling, TokenV2Decryptor
- Defined in:
- lib/teems/services/token_extractor.rb
Overview
Extracts Teams authentication tokens using Safari automation
Constant Summary collapse
- TEAMS_URL =
'https://teams.microsoft.com'
Constants included from SafariOAuth
Constants included from OAuthCodeExchange
OAuthCodeExchange::GRAPH_RESOURCE, OAuthCodeExchange::TOKEN_ENDPOINT
Constants included from OAuthUrlBuilder
OAuthUrlBuilder::AUTHORIZE_ENDPOINT, OAuthUrlBuilder::REDIRECT_URI, OAuthUrlBuilder::TEAMS_APP_ID
Constants included from HeadlessExtract
HeadlessExtract::HELPER_TIMEOUT, HeadlessExtract::NEEDS_SAFARI_EXIT
Constants included from HttpSkypeExchange
HttpSkypeExchange::AUTHSVC_URL
Constants included from HelperBinary
HelperBinary::SWIFT_FRAMEWORKS
Constants included from TokenPolling
Teems::Services::TokenPolling::TOKEN_POLL_INTERVAL, Teems::Services::TokenPolling::TOKEN_POLL_MAX_SECONDS, Teems::Services::TokenPolling::V1_POLL_MAX_SECONDS
Constants included from TokenExtractorScripts
Teems::Services::TokenExtractorScripts::DECRYPT_TOKENS_JS, Teems::Services::TokenExtractorScripts::EXTRACT_TOKENS_JS, Teems::Services::TokenExtractorScripts::READ_DECRYPT_RESULT_JS
Constants included from TokenExchangeScripts
Teems::Services::TokenExchangeScripts::EXCHANGE_TOKEN_JS, Teems::Services::TokenExchangeScripts::MANUAL_TOKEN_INSTRUCTIONS
Constants included from TokenV2Decryptor
Teems::Services::TokenV2Decryptor::DECRYPT_RESULT_KEY
Instance Method Summary collapse
- #extract ⇒ Object
-
#initialize(output: nil, auth_mode: :default) ⇒ TokenExtractor
constructor
A new instance of TokenExtractor.
- #manual_instructions ⇒ Object
Constructor Details
#initialize(output: nil, auth_mode: :default) ⇒ TokenExtractor
Returns a new instance of TokenExtractor.
293 294 295 296 |
# File 'lib/teems/services/token_extractor.rb', line 293 def initialize(output: nil, auth_mode: :default) @output = output @auth_mode = auth_mode end |
Instance Method Details
#extract ⇒ Object
298 299 300 |
# File 'lib/teems/services/token_extractor.rb', line 298 def extract try_headless_extract || try_safari_oauth || safari_extract end |
#manual_instructions ⇒ Object
302 |
# File 'lib/teems/services/token_extractor.rb', line 302 def manual_instructions = MANUAL_TOKEN_INSTRUCTIONS |