diaspora/app/models/openid_connect/o_auth_application.rb
theworldbright ee9ac06e1a Add support for access tokens in implicit flow
Squashed commits:
[7dbf618] Use Rail's find_or_create_by method
2016-01-04 16:49:50 +09:00

31 lines
729 B
Ruby

class OpenidConnect::OAuthApplication < ActiveRecord::Base
has_many :authorizations
has_many :user, through: :authorizations
validates :client_id, presence: true, uniqueness: true
validates :client_secret, presence: true
serialize :redirect_uris, JSON
before_validation :setup, on: :create
def setup
self.client_id = SecureRandom.hex(16)
self.client_secret = SecureRandom.hex(32)
end
class << self
def available_response_types
["id_token", "id_token token"]
end
def register!(registrar)
registrar.validate!
build_client_application(registrar)
end
def build_client_application(registrar)
create! redirect_uris: registrar.redirect_uris
end
end
end