Class: Atlassian::JiraConnect::Jwt::Symmetric
- Inherits:
-
Object
- Object
- Atlassian::JiraConnect::Jwt::Symmetric
- Includes:
- Gitlab::Utils::StrongMemoize
- Defined in:
- lib/atlassian/jira_connect/jwt/symmetric.rb
Constant Summary collapse
- CONTEXT_QSH_STRING =
'context-qsh'
Instance Method Summary collapse
-
#initialize(jwt) ⇒ Symmetric
constructor
A new instance of Symmetric.
- #iss_claim ⇒ Object
- #sub_claim ⇒ Object
- #valid?(shared_secret) ⇒ Boolean
- #verify_context_qsh_claim ⇒ Object
- #verify_qsh_claim(url_with_query, method, url) ⇒ Object
Constructor Details
#initialize(jwt) ⇒ Symmetric
Returns a new instance of Symmetric.
11 12 13 |
# File 'lib/atlassian/jira_connect/jwt/symmetric.rb', line 11 def initialize(jwt) @jwt = jwt end |
Instance Method Details
#iss_claim ⇒ Object
15 16 17 |
# File 'lib/atlassian/jira_connect/jwt/symmetric.rb', line 15 def iss_claim jwt_headers['iss'] end |
#sub_claim ⇒ Object
19 20 21 |
# File 'lib/atlassian/jira_connect/jwt/symmetric.rb', line 19 def sub_claim jwt_headers['sub'] end |
#valid?(shared_secret) ⇒ Boolean
23 24 25 26 27 |
# File 'lib/atlassian/jira_connect/jwt/symmetric.rb', line 23 def valid?(shared_secret) Atlassian::Jwt.decode(@jwt, shared_secret).present? rescue JWT::DecodeError false end |
#verify_context_qsh_claim ⇒ Object
35 36 37 |
# File 'lib/atlassian/jira_connect/jwt/symmetric.rb', line 35 def verify_context_qsh_claim qsh_claim == CONTEXT_QSH_STRING end |
#verify_qsh_claim(url_with_query, method, url) ⇒ Object
29 30 31 32 33 |
# File 'lib/atlassian/jira_connect/jwt/symmetric.rb', line 29 def verify_qsh_claim(url_with_query, method, url) qsh_claim == Atlassian::Jwt.create_query_string_hash(url_with_query, method, url) rescue StandardError false end |