Sha256: 8f4b32bd49a613bbcecdcc18723bbb69a7dfcab76e62ca8da3d227b4157bb206
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
module DoorkeeperSsoClient module Mixins module PassportBase extend ActiveSupport::Concern included do belongs_to :identity, polymorphic: true validates :uid, presence: true, uniqueness: true end module ClassMethods def create_from_omniauth(auth_hash) uid = { uid: auth_hash["extra"]["passport_id"] } passport = where(uid).first || new(uid) passport.update_attributes!( secret: auth_hash["extra"]["passport_secret"], token: auth_hash["credentials"]["token"], refresh_token: auth_hash["credentials"]["refresh_token"], token_expiry: auth_hash["credentials"]["expiry"], revoked_at: nil, revoke_reason: nil, last_login_at: Time.current ) end end # ClassMethods def update_from_pingback(pingback_hash) update_attributes!( revoked_at: pingback_hash["revoked_at"], revoke_reason: pingback_hash["revoke_reason"], last_login_at: pingback_hash["activity_at"] ) end def verified! update_attribute(:verified, true) end def unverified? !verified? end def modified! update_attribute(:modified, true) end def unmodified? !modified? end def delta { state: state, user: user } end def active? revoked_at.blank? end end # Passport end # Mixins end # DoorkeeperSsoClient
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper_sso_client-0.4.7 | lib/doorkeeper_sso_client/mixins/passport_base.rb |
doorkeeper_sso_client-0.4.6 | lib/doorkeeper_sso_client/mixins/passport_base.rb |