埋込みOracle Analytics Cloudコンテンツでのトークン認証の使用
Oracle Analytics Cloudに対してバックグラウンドで認証するが、3-Legged OAuthを使用しない場合は、トークン認証メソッドを使用します。
トークンを使用して埋込みOracle Analyticsキャンバスを認証すると、クライアントにセッションcookieは作成されません。 これにより、サード・パーティのcookieをブロックするように構成されたブラウザによって、埋込みOracle Analyticsコンテンツがブロックされることが回避されます。つまり、ブラウザを再構成したり、ホスト埋込みサイトと同じドメインを持つバニティURLを使用するようにOracle Analyticsを構成したりすることなく、コンテンツが表示されます。 この利点は、JavaScriptフレームワークの埋込みにのみ適用され、ワークブックURLを使用した埋込みには適用されません。
ノート:
埋込みOracle Analytics Cloudコンテンツでトークン認証を使用する場合、Excelへのエクスポートは正しく機能しません。HTMLページを更新して、適切なトークン認証に対応します。 トークンの生成方法の詳細は、「Oracle Cloudでの認可の保護」を参照してください。
- HTMLページで、embedding.jsスクリプト参照の
TOKENパラメータをtrueに設定します。 - トークンのセキュリティ構成タイプを指定します。
setSecurityConfig関数を使用して、トークンをアプリケーションに取得する関数を追加します。 次の例を参照してください。
例
この例では、APIを使用してトークンを取得します。 HTMLページでAPIを使用してトークンを取得する場合は、必要なAPIを使用可能にする必要があります。
ここで、project-pathはワークブック・リポジトリ・パスを指定します。
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Standalone DV Embed Demo Using Token</title>
<script src="https://<instance>.analytics.ocp.oraclecloud.com/public/dv/v1/embedding/<embedding mode>/embedding.js?TOKEN=true" type="application/javascript">
</script>
</head>
<body>
<B>Standalone embedded workbook test</B>
<div style="width: calc(50% - 40px); height: 50%; border: 1px solid black; padding: 10px;" >
<oracle-dv
project-path="/@Catalog/Shared Folders/Embed/Embed Samples"
active-page="canvas"
active-tab-id="1">
</oracle-dv>
</div>
<script>
var token = '<token from identity management API>';
requirejs(['jquery', 'knockout', 'obitech-application/application', 'ojs/ojcore', 'ojs/ojknockout', 'ojs/ojcomposite', 'jet-composites/oracle-dv/loader'],
function($, ko, application) {
application.setSecurityConfig("token", {tokenAuthFunction:
function(){
return token;
}
});
ko.applyBindings();
}
);
</script>
</body>
</html>