- 仲澤龍一
- 約 1,200 文字
- 400 View
目次
はじめに
- プロジェクトでTableauダッシュボードを組み込んだSPAを開発しています。
- その際にPoCを実施したので、こちらで簡単にお試しできる手順を共有させていただきます。
内容
- Tableau OnlineダッシュボードのSPA埋め込み with Auth0 SSOを最短でお試しできる手順になります。
前提
- 事前にTableauアカウントと、Auth0アカウント および テナント作成は行なっているものとします。
手順
1. Auth0 login URL、メタデータ取得
Auth0のSAML Protocol URL(login URL)、メタデータを取得します。
メタデータはDLしておいてください。
2. Tableau設定
- サイトでのSAML認証の有効化
- TableauへのAuth0メタデータ(手順3で取得済)をインポート
- iFrame の埋め込みの有効化
- ユーザー追加(auth0 SSO有効)
3. Tableauメタデータ取得
Auth0の設定に使用する値が含まれたメタデータを取得します。
4. Auth0設定
Applicationsを作成します。
Applications → Regular Web Applications → Create
作成したApplicationのAddonsを設定します。
Application Callback URL: http://localhost:3000 を設定
Setteingsは下記を設定
{ |
5. Tableauの埋め込みコード取得
対象のダッシュボードへ移動 → 共有 → 埋め込みコードのコピー
6. サンプルアプリ組み込み
サンプルアプリへ実際に組み込みます。
# サンプルアプリを自動生成します |
手順5で取得した埋め込みコードを整形します。
※ 次の工程でTableauのJSライブラリをロード時に読み込むように切り出す↓↓↓ |
上記の埋め込みコードを少し修正して、pages/index.jsに貼り付けます。
- ロード時にTableauライブラリ読み込み
- styleに
position: "absolute"を追加 - styleに
display: "none"を追加 - ログインボタンを追加
import { useEffect } from "react"; |
7. アクセス
(1) サンプルアプリ起動
cd my-app |
(2) localhost:3000にアクセス
(3) ログインボタンを押下
(4) Auth0 ログイン画面に遷移するのでログイン
localhostにリダイレクトされ、埋め込みのTableauダッシュボードが表示されました! 🎉
おわりに
- プロジェクトではこの後、cloudfront + S3の環境にデプロイしています。
- また、SPA自体の認証もAuth0 SSOで行っており、 セッション、token管理をauth0のライブラリを使用して行っています。
- こちらに関しては、機会がありましたら別途、紹介させていただけたらと思います。
参考
- https://auth0.com/blog/jp-how-saml-authentication-works/
- SAML 認証はどのように機能するか?
- https://help.tableau.com/current/online/ja-jp/saml_config_site.htm
- サイトでの SAML 認証の有効化