Class: TwitterTweetBot::API::Authorization::SecureCode
- Inherits:
-
Object
- Object
- TwitterTweetBot::API::Authorization::SecureCode
- Defined in:
- lib/twitter_tweet_bot/api/authorization/secure_code.rb
Class Method Summary collapse
- .code_challenge(verifier, challenge_method = DEFAULT_CHALLENGE_METHOD) ⇒ Object
- .code_verifier(size = DEFAULT_CHALLENGE_SIZE) ⇒ Object
- .state(size = DEFAULT_STATE_SIZE) ⇒ Object
Instance Method Summary collapse
- #code_challenge ⇒ Object
- #code_challenge_method ⇒ Object
- #code_verifier ⇒ Object
-
#initialize(code_verifier: nil, code_challenge_method: nil, state: nil) ⇒ SecureCode
constructor
A new instance of SecureCode.
- #state ⇒ Object
Constructor Details
#initialize(code_verifier: nil, code_challenge_method: nil, state: nil) ⇒ SecureCode
Returns a new instance of SecureCode.
48 49 50 51 52 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 48 def initialize(code_verifier: nil, code_challenge_method: nil, state: nil) @code_verifier = code_verifier @code_challenge_method = code_challenge_method @state = state end |
Class Method Details
.code_challenge(verifier, challenge_method = DEFAULT_CHALLENGE_METHOD) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 22 def code_challenge(verifier, challenge_method = DEFAULT_CHALLENGE_METHOD) case challenge_method when 'S256' encode( Base64.urlsafe_encode64(digest_by_sha256(verifier), padding: false) ) else # 'plain' encode(verifier) end end |
.code_verifier(size = DEFAULT_CHALLENGE_SIZE) ⇒ Object
14 15 16 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 14 def code_verifier(size = DEFAULT_CHALLENGE_SIZE) encode(random_chars(size)) end |
.state(size = DEFAULT_STATE_SIZE) ⇒ Object
18 19 20 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 18 def state(size = DEFAULT_STATE_SIZE) encode(random_chars(size)) end |
Instance Method Details
#code_challenge ⇒ Object
58 59 60 61 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 58 def code_challenge @code_challenge ||= \ self.class.code_challenge(code_verifier, code_challenge_method) end |
#code_challenge_method ⇒ Object
63 64 65 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 63 def code_challenge_method @code_challenge_method ||= DEFAULT_CHALLENGE_METHOD end |
#code_verifier ⇒ Object
54 55 56 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 54 def code_verifier @code_verifier ||= self.class.code_verifier end |
#state ⇒ Object
67 68 69 |
# File 'lib/twitter_tweet_bot/api/authorization/secure_code.rb', line 67 def state @state ||= self.class.state end |