Sha256: 5b11119969a03df3dc6e9108131416b708de4f117e8db6d3edc159f8767ad195
Contents?: true
Size: 1.16 KB
Versions: 3
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module Decidim module Doorkeeper # A controller to expose a simple JSON API so OAuth clients can get the user's information. class CredentialsController < ApplicationController skip_authorization_check before_action :doorkeeper_authorize! respond_to :json def me respond_with public_data end private def public_data { id: current_resource_owner.id, email: current_resource_owner.email, name: current_resource_owner.name, nickname: current_resource_owner.nickname, image: avatar_url } end def current_resource_owner @current_resource_owner ||= Decidim::User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token end def avatar_url avatar_url = current_resource_owner.avatar_url return unless avatar_url unless avatar_url.match?(%r{/https?://}) request_uri = URI.parse(request.url) request_uri.path = avatar_url request_uri.query = nil avatar_url = request_uri.to_s end avatar_url end end end end
Version data entries
3 entries across 3 versions & 1 rubygems