Sha256: 8c508ee14740a94ce999883e4c45af1f314bef49b56a50fe1f0a63bdaf0e66cf
Contents?: true
Size: 1.51 KB
Versions: 1
Compression:
Stored size: 1.51 KB
Contents
require_dependency 'mongoid' 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) passport = where(uid: auth_hash["extra"]["passport_id"]).first_or_initialize 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper_sso_client-0.4.5 | lib/doorkeeper_sso_client/mixins/passport_base.rb |