Veleta Webアプリの外部認証サービス連携を設定する

Veleta Webアプリに外部認証サービスを連携してデータにアクセスできるユーザーを制限できます。

Webアプリ(Webクライアント)に外部認証サービス用の設定を追加することで、データにアクセスできるユーザーを制限できます。

利用できる外部認証サービスは Google, Microsoft, Auth0, Cognito の4種類です。

 

外部認証サービスを選択する

外部認証サービスは docker-compose.yml の環境変数 NUXT_PUBLIC_AUTH_TYPE で選択できます。

NUXT_PUBLIC_AUTH_TYPE で使用する外部認証サービスを設定したあと、認証に必要な設定値を下記のとおりセットしてください。

Google認証を利用する

Google認証を利用する場合まずはGoogle CloudでOAuthの設定をしてください。

参考記事

設定するとクライアントID、クライアントシークレットが発行されるので、その値をそれぞれ下記の環境変数にセットしてください。

環境変数名 設定値
NUXT_PUBLIC_AUTH_TYPE google
NUXT_OAUTH_GOOGLE_CLIENT_ID 発行されたクライアントID
NUXT_OAUTH_GOOGLE_CLIENT_SECRET 発行されたクライアントシークレット
NUXT_OAUTH_GOOGLE_REDIRECT_URL

Veleta Webアプリを実行するURLに「/auth/google」を付け足した値

http://localhost:3000で実行する場合http://localhost:3000/auth/googleと指定する

※ NUXT_OAUTH_GOOGLE_REDIRECT_URL で設定した値をGoogle OAuthの「承認済みのリダイレクトURI」にも設定する

Microsoft認証を利用する

Microsoft認証を利用する場合、まずはMicrosoft AzureでOAuthの設定をしてください。「リダイレクトURI」には[Veleta Webアプリを実行するURL]/auth/microsoftを指定してください。

http://localhost:3000で実行する場合http://localhost:3000/auth/microsoftと指定する

参考記事

設定するとクライアントID、クライアントシークレット、テナントIDが発行されるので、その値をそれぞれ下記の環境変数にセットしてください。

環境変数名 設定値
NUXT_PUBLIC_AUTH_TYPE microsoft
NUXT_OAUTH_MICROSOFT_CLIENT_ID 発行されたクライアントID
NUXT_OAUTH_MICROSOFT_CLIENT_SECRET 発行されたクライアントシークレット
NUXT_OAUTH_MICROSOFT_TENANT

発行されたテナントID

Auth0認証を利用する

Auth0認証を利用する場合、まずはAuth0でOAuthの設定をしてください。「Allowed Callback URLs」には[Veleta Webアプリを実行するURL]/auth/auth0を指定してください。

http://localhost:3000で実行する場合http://localhost:3000/auth/auth0と指定する

参考記事

設定するとClient ID、Client Secret、Domainが発行されるのでその値を、それぞれ下記の環境変数にセットしてください。

環境変数名 設定値
NUXT_PUBLIC_AUTH_TYPE auth0
NUXT_OAUTH_AUTH0_CLIENT_ID 発行された Client ID
NUXT_OAUTH_AUTH0_CLIENT_SECRET 発行された Client Secret
NUXT_OAUTH_AUTH0_DOMAIN 発行された Domain

Cognito認証を利用する

Auth0認証を利用する場合、まずはAuth0でOAuthの設定をしてください。「リターンURL」には[Veleta Webアプリを実行するURL]/auth/cognitoを指定してください。

http://localhost:3000で実行する場合http://localhost:3000/auth/cognitoと指定する

参考記事

設定するとユーザープールID、クライアントID、クライアントシークレットが発行されるので、その値をそれぞれ下記の環境変数にセットしてください。

環境変数名 設定値
NUXT_PUBLIC_AUTH_TYPE cognito
NUXT_OAUTH_COGNITO_USER_POOL_ID ユーザープールID
NUXT_OAUTH_COGNITO_CLIENT_ID 発行されたクライアントID
NUXT_OAUTH_COGNITO_CLIENT_SECRET 発行されたクライアントシークレット
NUXT_OAUTH_COGNITO_REGION ユーザープールのAWSリージョン