Auth0 Deploy CLIを使ってテナント情報をディプロイしてみた
はじめに
この記事はAuth0 Deploy CLIを使ってローカルのPCで作成したAuth0のテナント情報をリモートの本番テナントにディプロイする手順をまとめています。
検証環境
-
OS :
macOS Mojave 10.14.6
-
node :
10.15.3
-
npm :
6.12.0
検証内容
macOS Mojave 10.14.6
10.15.3
6.12.0
Auth0のダッシュボードにログイン、左ペインの"Applications"をクリックして右上の"CREATE APPLICATION"を押します。
"Name"に任意の名前を入力して"Choose an application type"で"Machine to Machine Applications"を選択、"CREATE"を推します。
"Select an API..."で"Auth0 Management API"を選択して"Select all: All"をクリックして全てのScopeをチェック、"AUTHORIZE"を押します。Deploy CLIはAuth0 Management APIをコールするため設定しています。本番環境では用途に合わせてScopeを限定しますがこの記事は検証目的のため全てのScopeをチェックしています。
Auth0 Deploy CLIをPCにインストールします。
$ npm i -g auth0-deploy-cli
任意の作業ディレクトリを作成して移動します。
$ mkdir auth0-deploy-cli-demo
$ cd auth0-deploy-cli-demo
config.jsonを作成して編集します。"AUTH0_CLIENT_ID", "AUTH0_CLIENT_SECRET"には先のステップで作成したMachine to Machine ApplicationのID/Secretを指定します。"Applications"->"Settings"から確認できます。
$ touch config.json
{
"AUTH0_DOMAIN": "kiriko.auth0.com",
"AUTH0_CLIENT_ID": "xxxx",
"AUTH0_CLIENT_SECRET": "xxxx",
"AUTH0_ALLOW_DELETE": true
}
Auth0のテナント情報(ex/設定、Custom Script, Rules)をPCにエクスポートします。
$ a0deploy export -c config.json -f yaml -o ./tenant
auth0-deploy-cli-demo/tenant/tenant.yamlにテナント情報が出力されています。確認してみます。
emailProvider:
name: smtp
credentials:
smtp_host: smtp.mailtrap.io
smtp_port: 2525
smtp_user: xxxx
smtp_pass: YOUR_SMTP_PASS
default_from_address: Travel0 Accounts <[email protected]>
enabled: true
rules:
- name: Account-Linking-Extension
script: ./rules/Account-Linking-Extension.js
stage: login_success
enabled: false
order: 120
--省略--
ローカルPCにエクスポートされた任意のRulesを変更してみます。auth0-deploy-cli-demo/tenant/rules配下の任意のJSを変更してみます。
ローカルPCの変更内容をリモートのテナントにインポートします。
$ a0deploy import -c config.json -i ./tenant/tenant.yaml
Auth0のテナントを確認してローカルPCの変更が反映されていれば成功です。
おわりに
"全ての企業がソフトウェア企業"と言っていいほどソフトウェアの重要性は増すばかりで、新しいソフトウェア機能を迅速に市場に投入するためにはDevOpsのような文化醸成、CI/CDツールを利用した自動的・継続的なソフトウェアデリバリーは不可欠かと思います。CI/CDツールが管理するソフトウェアデリバリーパイプラインに乗せるには、デリバリー対象が人が読めるコードになっていることが前提ですが、"as Code"化されてきたインフラストラクチャに比べてID領域のコード化はこれからかと思います。Auth0はID領域をコード化して、お客様がご利用されているCI/CDツールと連携してソフトウェアデリバリーパイプラインに簡単に組み込むことが可能です。
Author And Source
この問題について(Auth0 Deploy CLIを使ってテナント情報をディプロイしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/hisashiyamaguchi/items/d92acbaf05754f6e2952著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .