Class: Supabase::Auth::AdminOAuthApi

Inherits:
Object
  • Object
show all
Defined in:
lib/supabase/auth/admin_oauth_api.rb

Overview

OAuth 2.1 client administration. Mirrors supabase-py’s SyncGoTrueAdminOAuthAPI. Only relevant when the OAuth 2.1 server is enabled in Supabase Auth. Accessed via Supabase::Auth::AdminApi#oauth; delegates to the underscored implementations on AdminApi.

Direct Known Subclasses

Supabase::Auth::Async::AdminOAuthApi

Instance Method Summary collapse

Constructor Details

#initialize(admin) ⇒ AdminOAuthApi

Returns a new instance of AdminOAuthApi.

Parameters:



10
11
12
# File 'lib/supabase/auth/admin_oauth_api.rb', line 10

def initialize(admin)
  @admin = admin
end

Instance Method Details

#create_client(params) ⇒ Types::OAuthClientResponse

Parameters:

  • params (Hash)

    new client attributes (client_name, redirect_uris, etc.)

Returns:



22
23
24
# File 'lib/supabase/auth/admin_oauth_api.rb', line 22

def create_client(params)
  @admin._create_oauth_client(params)
end

#delete_client(client_id) ⇒ Object

Parameters:

  • client_id (String)

    OAuth client UUID



40
41
42
# File 'lib/supabase/auth/admin_oauth_api.rb', line 40

def delete_client(client_id)
  @admin._delete_oauth_client(client_id)
end

#get_client(client_id) ⇒ Types::OAuthClientResponse

Parameters:

  • client_id (String)

    OAuth client UUID

Returns:



28
29
30
# File 'lib/supabase/auth/admin_oauth_api.rb', line 28

def get_client(client_id)
  @admin._get_oauth_client(client_id)
end

#list_clients(params = nil) ⇒ Types::OAuthClientListResponse

Parameters:

  • params (Hash, Types::PageParams, nil) (defaults to: nil)

    optional :page / :per_page

Returns:



16
17
18
# File 'lib/supabase/auth/admin_oauth_api.rb', line 16

def list_clients(params = nil)
  @admin._list_oauth_clients(params)
end

#regenerate_client_secret(client_id) ⇒ Types::OAuthClientResponse

Returns response with rotated client_secret.

Parameters:

  • client_id (String)

    OAuth client UUID

Returns:



46
47
48
# File 'lib/supabase/auth/admin_oauth_api.rb', line 46

def regenerate_client_secret(client_id)
  @admin._regenerate_oauth_client_secret(client_id)
end

#update_client(client_id, params) ⇒ Types::OAuthClientResponse

Parameters:

  • client_id (String)

    OAuth client UUID

  • params (Hash)

    attributes to update

Returns:



35
36
37
# File 'lib/supabase/auth/admin_oauth_api.rb', line 35

def update_client(client_id, params)
  @admin._update_oauth_client(client_id, params)
end