Interface)が用意されています。これにより、Sigme-CMSを外部アプリケーションから制御し、さまざまな処理を実行することが可能です。CMSで操作するほぼ全ての操作がAPIから実行可能です。実装されているAPIの仕様はこちらから確認できます。OAuth2.0に準拠したアクセス制御Sigme-cms(Xibo-cms)のAPIはOAuth2.0の認証により、不正なアクセスがされないように保護されています。2.0には複数の認証手順が標準化されており、Sigme-cms(Xibo-cms)では以下の2種類の認証がサポートされています。定義されているフローです。認可エンドポイントに認可リクエストを投げ、応答として短命の認可コードを受けとり、その認可コードをトークンエンドポイントでアクセストークンと交換するフローです。APIを発行するアプリケーションが事前にユーザー認証を行っていない場合は、このフローによりアプリケーションのユーザー認証を行います。定義されているフローです。トークンエンドポイントにトークンリクエストを投げ、応答としてアクセストークンを受け取るフローです。このフローでは、ユーザーの認証はおこなわれず、クライアントアプリケーションの認証のみがおこなわれます。アプリケーションのユーザー認証が行われている場合は、この認証手順がシンプルです。クライアントIDとクライアント・シークレットは事前に決定した固定の値となりますので、この値が漏洩しないように十分注意する必要があります。Connectとは、サービス間で、利用者の同意に基づきID情報を流通するための標準仕様です。上記各認証の動画ではA-Cの手順になります。Sigme-cms(Xibo-cms)では、認可サーバーがCMSに内蔵されているため、この手順は必要ありません。クライアント・クレデンシャルズによる認可手順ここでは、クライアント・クレデンシャルズによる認可とCMSのAPIへのアクセス手順を、具体例で解説します。ほとんどのケースで、アプリケーションはすでにユーザー認証が行われていると考えられるため、クライアント・クレデンシャルズによる認可の手順を解説します。以下のサンプルコードは、Guzzleライブラリを利用し、xibo-cmsサーバーからAccessTokenを取得し、そのAccessTokenを使いCMSの時間を取得するAPI(clock)を呼び出して、CMSの時間を取得しています。表示echo('<pre>');var_dump($data);echo('</pre>');?>phpからGETやPOSTなどのリクエストを送信するため、ここでは、Guzzleというライブラリを使用しています。事前に、以下のコマンドで、Guzzleをインストールしておく必要があります。Sのベースアドレスです。$clientIdと$clientSecretは、CMSにアプリケーションを登録すると取得できます。CMSにログインして、[管理]から[アプリケーション]を選択します。アプリケーション画面の右上にある[アプリケーションを追加]ボタンを押すと、アプリケーション名を入力することができます。追加するアプリケーション名を入力すると、以下の画面が表示され、クライアントIDとクライアントシークレットが表示されます。api/authorize/access_tokenにこの情報をPOSTすると、認可サーバーから$accessTokenが得られます。このアクセストークンをBearer認証のパラメータとして、APIにアクセスします。JST"}とJSON形式で得られ、CMSサーバーの時刻を確認できます。$data]);POSTするデータを連想配列で指定して、$client->post()を呼び出します。スコープの設定APIから操作できる範囲をスコープといいます。これによりAPIから制御できる機能を制限することができます。セキュリティを強化する上でも、必要以外のAPIを起動できないように設定することをお勧めします。[管理]->[アプリケーション]を起動し、アプリケーション編集ウィザードで、スコープを設定できます。accessを指定すると全てのAPIが利用可能になります。必要に応じて設定します。まとめAPIを利用することにより、新しいサイネージの利用の可能性が大きく広がります。現在を気温をリアルタイムに表示したい場合には、アプリケーションからリアルタイムに気温情報を送り込み、表示することが可能になります。データセットウェジットを配置し、そのデータをリアルタイムにAPIを使い更新することで、実現できます。更新したデータを即時に反映させるためには、XMRが有効になっている必要があります。XMRに関しては、こちらのブログを参照してください。アイデア次第で、今までにないデジタルサイネージを構築できます。APIを利用して、新たなサイネージ機能をぜひ実現してください。今回はクライアント・クレデンシャルズでの認証を解説しましたが、認可コードフローでの実装の参考コードを掲載しておきます。コメントをキャンセルコメントを投稿するにはログインしてください。技術情報Dockerコンテナで、SQLコマンドを実行する。