形式
OAUTH.CREATE_CLIENT( p_name VARCHAR2 IN, p_grant_type VARCHAR2 IN, p_owner VARCHAR2 IN DEFAULT NULL, p_description VARCHAR2 IN DEFAULT NULL, p_allowed_origins VARCHAR2 IN DEFAULT NULL, p_redirect_uri VARCHAR2 IN DEFAULT NULL, p_support_email VARCHAR2 IN DEFAULT NULL, p_support_uri VARCHAR2 IN DEFAULT NULL, p_privilege_names VARCHAR2 IN)
説明
OAuthクライアントの登録を作成します。
パラメータ
クライアントの名前で、Three-Legged OAuthの承認フェーズでエンド・ユーザーに表示されます。一意である必要があります。
authorization_code
、implicit
またはclient_credentials
のいずれかである必要があります。
クライアント・アプリケーションを所有するパーティの名前です。
クライアントの目的の説明で、Three-Legged OAuthの承認フェーズでエンド・ユーザーに表示されます。p_grant_type
がclient_credentials
の場合はnullにもできます。それ以外の場合はnullにはできません。
URLの接頭辞のカンマ区切りリスト。リストが空の場合、既存のオリジンは削除されます。
OAuthアクセス・トークンまたはエラーが含まれるリダイレクトが送信されるクライアント制御URIです。p_grant_type
がclient_credentials
の場合はnullにもできます。それ以外の場合はnullにはできません。
エンド・ユーザーがサポートを得るためにクライアントに連絡できる電子メールです。
エンド・ユーザーがサポートを得るためにクライアントに連絡できるURIです。例: http://www.myclientdomain.com/support/
クライアントがアクセスするカンマ区切りの権限のリストです。
使用上の注意
操作を有効にするには、このプロシージャを呼び出した後でCOMMIT文を使用します。
例
次の例では、OAuthクライアント登録を作成します。
BEGIN OAUTH.create_client( 'CLIENT_TEST', 'authorization_code', 'test_user', 'This is a test description.', '', 'https://example.org/my_redirect/#/', 'test@example.org', 'https://example.org/help/#/', 'MyPrivilege' ); COMMIT; END; /
形式
OAUTH.GRANT_CLIENT_ROLE( p_client_name VARCHAR2 IN, p_role_name VARCHAR2 IN);
説明
OAuthクライアントに指定したロールを付与し、クライアントがTwo-Legged OAuthを実行して、ロールを要求する権限にアクセスできるようにします。
使用上の注意
操作を有効にするには、このプロシージャを呼び出した後でCOMMIT文を使用します。
例
次の例では、ロールを作成し、OAuthクライアントにそのロールを付与します。
BEGIN ORDS.create_role(p_role_name => 'CLIENT_TEST_ROLE'); OAUTH.grant_client_role( 'CLIENT_TEST', 'CLIENT_TEST_ROLE' ); COMMIT; END; /
形式
OAUTH.RENAME_CLIENT( p_name VARCHAR2 IN, p_new_name VARCHAR2 IN);
説明
クライアントの名前を変更します。
使用上の注意
クライアントの名前はThree-Legged OAuthの承認フェーズでエンド・ユーザーに表示されます。
操作を有効にするには、このプロシージャを呼び出した後でCOMMIT文を使用します。
例
次の例では、クライアントの名前を変更します。
BEGIN OAUTH.rename_client( 'CLIENT_TEST', 'CLIENT_TEST_RENAMED' ); COMMIT; END; /
形式
OAUTH.REVOKE_CLIENT_ROLE( p_client_name VARCHAR2 IN, p_role_name VARCHAR2 IN);
説明
OAuthクライアントから指定したロールを削除し、クライアントがTwo-Legged OAuthを通じてロールを要求する権限にアクセスすることを防ぎます。
使用上の注意
操作を有効にするには、このプロシージャを呼び出した後でCOMMIT文を使用します。
例
次の例では、OAuthクライアントから指定したロールを削除します。
BEGIN OAUTH.revoke_client_role( 'CLIENT_TEST_RENAMED', 'CLIENT_TEST_ROLE' ); COMMIT; END; /
形式
OAUTH.UPDATE_CLIENT( p_name VARCHAR2 IN, p_description VARCHAR2 IN, p_origins_allowed VARCHAR2 IN, p_redirect_uri VARCHAR2 IN, p_support_email VARCHAR2 IN, p_suppor_uri VARCHAR2 IN, p_privilege_names t_ords_vchar_tab IN);
説明
クライアント情報を更新します(名前を除く)。null値を指定すると、既存のクライアント・プロパティは変更されません。
パラメータ
所有者、説明、使用可能な起点、サポート電子メール、サポートURIおよび権限変更を要求するクライアントの名前です。
クライアントの目的の説明で、Three-Legged OAuthの承認フェーズでエンド・ユーザーに表示されます。
OAuthアクセス・トークンまたはエラーが含まれるリダイレクトが送信されるクライアント制御URI。このパラメータがnullの場合、既存のp_redirect_uri
値(存在する場合)は変更されません。
エンド・ユーザーがサポートを得るためにクライアントに連絡できる電子メール・アドレスです。
エンド・ユーザーがサポートを得るためにクライアントに連絡できるURIです。例: http://www.myclientdomain.com/support/
クライアントがアクセスする権限の名前のリストです。
使用上の注意
操作を有効にするには、このプロシージャを呼び出した後でCOMMIT文を使用します。
クライアントの名前を変更する場合は、 OAUTH.RENAME_CLIENT
プロシージャを使用します。
指定のクライアントの説明を更新する例
次の例では、p_name
の値と一致する名前を持つクライアントの説明を更新します。
BEGIN ORDS_METADATA.OAUTH.update_client( p_name => 'CLIENT_TEST_RENAMED', p_description => 'The description was altered', p_origins_allowed => null, p_redirect_uri => null, p_support_email => null, p_support_uri => null, p_privilege_names => null); COMMIT; END; /
例6-1 複数の権限を追加する例
次の例は、2つめの権限を追加します。
declare my_privs t_ords_vchar_tab := t_ords_vchar_tab (); begin my_privs.EXTEND (3); my_privs(1):='tst.privilege1'; my_privs(2):='tst.privilege2'; . oauth.update_client( p_name => 'Test_Client', p_owner => 'scott', p_description => 'Description', p_grant_type => 'client_credentials', p_redirect_uri => '/abc/efg/', p_privilege_names => my_privs); commit; end;
関連トピック