class Monban::Domain::Auth::Encoder

Public Instance Methods

authy(public_id:, authy_id:, expired_at:) click to toggle source
# File lib/monban/domain/auth.rb, line 36
def authy(public_id:, authy_id:, expired_at:)
  to_jwt authy_payload(
    public_id:  public_id,
    authy_id:   authy_id,
    expired_at: expired_at,
  )
end
full(public_id:, roles:, expired_at:) click to toggle source
# File lib/monban/domain/auth.rb, line 28
def full(public_id:, roles:, expired_at:)
  to_jwt full_payload(
    public_id:  public_id,
    roles:      roles,
    expired_at: expired_at,
  )
end
reset(public_id:, reset_token:, expired_at:) click to toggle source
# File lib/monban/domain/auth.rb, line 44
def reset(public_id:, reset_token:, expired_at:)
  to_jwt reset_payload(
    public_id:   public_id,
    reset_token: reset_token,
    expired_at:  expired_at,
  )
end

Private Instance Methods

authy_payload(public_id:, authy_id:, expired_at:) click to toggle source
# File lib/monban/domain/auth.rb, line 69
def authy_payload(public_id:, authy_id:, expired_at:)
  {
    iss: iss(:authy),
    iat: time.now.to_i,
    exp: expired_at.to_i,

    sub: public_id,
    aud: authy_id ? authy_roles.first : authy_roles.last,
  }
end
full_payload(public_id:, roles:, expired_at:) click to toggle source
# File lib/monban/domain/auth.rb, line 58
def full_payload(public_id:, roles:, expired_at:)
  {
    iss: iss(:full),
    iat: time.now.to_i,
    exp: expired_at.to_i,

    sub: public_id,
    aud: roles,
  }
end
reset_payload(public_id:, reset_token:, expired_at:) click to toggle source
# File lib/monban/domain/auth.rb, line 80
def reset_payload(public_id:, reset_token:, expired_at:)
  {
    iss: iss(:reset),
    iat: time.now.to_i,
    exp: expired_at.to_i,

    sub: public_id,
    aud: reset_token,
  }
end
to_jwt(payload) click to toggle source
# File lib/monban/domain/auth.rb, line 54
def to_jwt(payload)
  ::JWT.encode(payload, jwt_secret, jwt_algorithm)
end