Sha256: c42d05d71b7529a314dabece5f504091dde949b8bc7f8a41600018fab2f12bd8

Contents?: true

Size: 577 Bytes

Versions: 2

Compression:

Stored size: 577 Bytes

Contents

require "omniauth-oauth2"
require "json"

class OmniAuth::Strategies::Gds < OmniAuth::Strategies::OAuth2
  uid { user["uid"] }

  option :pkce, true

  info do
    {
      name: user["name"],
      email: user["email"],
    }
  end

  extra do
    {
      user: user,
      permissions: user["permissions"],
      organisation_slug: user["organisation_slug"],
      organisation_content_id: user["organisation_content_id"],
    }
  end

  def user
    @user ||= JSON.parse(access_token.get("/user.json?client_id=#{CGI.escape(options.client_id)}").body).fetch("user")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gds-sso-19.0.0 lib/omniauth/strategies/gds.rb
gds-sso-18.1.0 lib/omniauth/strategies/gds.rb