Sha256: dfe3b5f7c5ecdd5cf2f53b34f797e68c3a9deb47e24d3f68fc0d538393b7c1f4
Contents?: true
Size: 1.79 KB
Versions: 1
Compression:
Stored size: 1.79 KB
Contents
# frozen_string_literal: true module Masks module OpenID class DiscoveriesController < ApplicationController before_action :find_client def jwks jwks = JSON::JWK::Set.new( JSON::JWK.new(client.public_key, use: :sig, kid: client.kid) ) render json: jwks end def new render json: OpenIDConnect::Discovery::Provider::Config::Response.new( issuer: client.issuer, authorization_endpoint: openid_authorization_url, token_endpoint: openid_token_url, userinfo_endpoint: openid_userinfo_url, jwks_uri: openid_jwks_url, # registration_endpoint: site_url, # TODO scopes_supported: client.scopes, response_types_supported: client.response_types, grant_types_supported: client.grant_types, claims_parameter_supported: false, request_parameter_supported: false, request_uri_parameter_supported: false, subject_types_supported: [ client.pairwise_subject? ? "pairwise" : "public" ], id_token_signing_alg_values_supported: [:RS256], token_endpoint_auth_methods_supported: %w[ client_secret_basic client_secret_post ], claims_supported: %w[sub iss name email address phone_number] ) end private def find_client head :not_found unless client end def client @client ||= Masks.configuration.model(:openid_client).find_by(key: params[:id]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
masks-0.4.0 | app/controllers/masks/openid/discoveries_controller.rb |