class Warden::Cognito::TestHelpers
Attributes
jwk[R]
Public Class Methods
auth_headers(headers, user, pool_identifier = Warden::Cognito.config.user_pools.first.identifier, claims = {})
click to toggle source
# File lib/warden/cognito/test_helpers.rb, line 15 def auth_headers(headers, user, pool_identifier = Warden::Cognito.config.user_pools.first.identifier, claims = {}) headers.merge(Authorization: "Bearer #{generate_token(user, pool_identifier, claims)}") end
local_issuer()
click to toggle source
# File lib/warden/cognito/test_helpers.rb, line 20 def local_issuer 'local_issuer' end
setup()
click to toggle source
# File lib/warden/cognito/test_helpers.rb, line 11 def setup Warden::Cognito.config.jwk = { key: jwk, issuer: local_issuer } end
Private Class Methods
generate_token(user, pool_identifier, claims = {})
click to toggle source
# File lib/warden/cognito/test_helpers.rb, line 26 def generate_token(user, pool_identifier, claims = {}) payload = { sub: user.object_id, "#{identifying_attribute}": user.cognito_id, iss: "#{pool_identifier}-#{local_issuer}", jti: SecureRandom.uuid, exp: 1.hour.from_now.to_i }.merge(claims) headers = { kid: jwk.kid } JWT.encode(payload, jwk.keypair, 'RS256', headers) end
identifying_attribute()
click to toggle source
# File lib/warden/cognito/test_helpers.rb, line 38 def identifying_attribute Warden::Cognito.config.identifying_attribute end