Loading
BLOG 開発者ブログ

2021年9月28日

【Auth0 入門】Management APIの実行方法3種

Auth0のManagement APIは、ユーザのCRUD操作やアプリケーションの画面設定、Auth0全体の設定を行うためのツールです。

クライアントからの実行方法は様々な形で提供されているため、今回は3種類抜粋して利用方法を記載していきます。

目次

はじめに

こんにちは。クラウドソリューショングループのyoshida.kです。

冒頭に記載しましたが、今回はAuth0のManagement APIの実行方法を3種類抜粋してご紹介します。

Auth0は、セキュアな認証・認可を手軽にアプリケーションに組み込めるプラットフォームです。

0から構築では煩雑になりがちなID管理・ユーザ管理がコスト少なく構築できます。

詳細はこちら

Management APIは、ユーザ登録・更新・確認・削除といったユーザ情報のCRUD操作や、

Auth0の画面設定など様々なことができるように提供されています。

https://auth0.com/docs/api/management/v2

上記URLからGUIベースで実行することも可能なのですが、その他にも様々な実行方法があるため、

今回は基本である「ユーザの作成」で実行方法を見ていきましょう。

curlコマンドでの実行

curlコマンドで実行する際の書式は以下です。

curl --request POST \
  --url https://AUTH0_DOMAIN/api/v2/users \
  --header 'authorization: Bearer ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "email": "YOUR_EMAIL",
    "blocked": true_OR_false,
    "email_verified": true_OR_false,
    "user_id": "YOUR_ID",
    "connection": "YOUR_CONNECTION",
    "password": "YOUR_PASSWORD"
  }'

 

では、実際に実行してみましょう。(※一部マスクしています)

curl --request POST \
  --url https://AUTH0_DOMAIN/api/v2/users \
  --header 'authorization: Bearer ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "email": "curl.user@example.com",
    "blocked": false,
    "email_verified": true,
    "user_id": "abc1",
    "connection": "Username-Password-Authentication",
    "password": "123456"
  }'

実行結果。正常にユーザが作成されていますね。

Node.jsでの実行

基本的にHTTPリクエストを飛ばすモジュールであれば、何を利用してもよいのですが、

今回はaxiosを利用していきます。書式は以下です。

async function createUser() {
  const url = "https://AUTH0_DOMAIN/api/v2/users"
  const options = {
    url:url,
    method:"POST",
    headers: {
      authorization: "Bearer ACCESS_TOKEN"
    },
    data:USER_DATA
  };
  await axios(options)
    .then(res => {console.log(res)})
    .catch(err=>{console.error(err)});
}

登録するユーザ情報は以下のように定義しています。

const userData = {
  email: "node.user@example.com",
  blocked: false,
  email_verified: true,
  user_id: "abc2",
  connection: "Username-Password-Authentication",
  password: "123456"
};

上記で実行すると、正常にユーザが登録されていることが確認できました。

Auth0 SDK(Node.js)での実行

Auth0から、Node.js環境でAPIを実行できるSDKが提供されているため、

こちらも実行方法を見ていきましょう。

※公式ドキュメント:https://auth0.github.io/node-auth0/index.html

まずは、モジュールをインストールします。

npm install auth0

次に、SDKで利用するAuth0 Management APIのクライアントを定義します。

domain , client_id , client_secret , tokenを定義したJSONが引数ですが、

Keyに対するValueは、ご利用される環境のものを入れてください。

const auth0Client = require('auth0');

const managementClient = new auth0Client.ManagementClient({
  domain: AUTH0_DOMAIN,
  client_id: YOUR_CLIENT_ID,
  client_secret: YOUR_CLIENT_SECRET,
  token: ACCESS_TOKEN
});

さて、上記の準備を終えたら、実際に実行してみましょう。

SDKを利用するとシンプルに記載できますね。

async function createUser() {
  await managementClient.createUser(userData);
}

ユーザ情報(userData)は次のように定義しています。

const userData = {
  email: "node-SDK.user@example.com",
  blocked: false,
  email_verified: true,
  user_id: "abc3",
  connection: "Username-Password-Authentication",
  password: "123456"
};

実行結果。こちらも正常にユーザが作成できていますね。

おわりに

今回は、①curlコマンド、②Node.js、③Auth0 SDK(Node.js)の3種類の方法で、

Auth0のManagement APIを実行してみました。

Auth0からは他にも様々な言語で実行する方法が提供されていますので、

利用している言語や目的に応じて使い分けが可能です。

個人的にはアプリケーションに組み込みやすくて良いなと思います。

 

 

 

 

 

のブログ