FINISHアクセラレータの一部として、私たちはFIWARE KeyRockとWirecloudを使用しています。現在、私たちは、調査するために、Fiware labsのグローバルインスタンスを使用しています。Fiware KeyRock APIのバグ:返されなかった団体の会員
ユーザーは、自分が所属する組織に属するデータのみを表示できるようにシステムを制限したいと考えています。
次のフローは、論理ようだが、私は間違っているなら、私を修正:
- ユーザーがログインWirecloudへとKeyRockログイン画面を介して導かれます。
- A WirecloudウィジェットはWirecloud環境からのアクセストークンを取得します。アクセストークンは、ユーザーがログインしたときに作成されました。
- Wirecloudウィジェットは、ユーザーが所属する組織とロールを検索します。これに基づいて、クエリに組織名が追加されます。
- Wirecloudウィジェットはそれだけで作成したクエリを使用してWebサービス(オリオンまたはそれ以外)を照会します。
- WirecloudウィジェットとWebサービスの間にWilma PEPプロキシを配置して、ユーザーがクエリ内の組織のメンバーであることを検証します。
問題: 我々はhttps://account.lab.fiware.org/user?access_token=XXXXXXXXXXXコールを使用してKeyRockからユーザー情報を照会することができます。しかし、KeyRockウェブインターフェースによれば、ユーザーが所属する組織に関する情報は含まれていません。組織要素は空の配列です。 jsonレスポンスではたくさんの役割がありますが、KeyRockの[組織メンバーの管理]画面からユーザーに割り当てる「メンバー」の役割はありません。
掘り出しによっては、Fiwareラボで実行されているKeystoneインスタンスに情報が含まれていることが明らかになりました(Keystoneプロジェクト= KeyRockの場合)。しかし、KeyRockによって提供されるアクセストークンは、キーストーンAPIでは何らかの形で有効ではありません。 http://cloud.lab.fiware.org:4730/v3/ Keystone APIから新しいアクセストークンを取得することは、私たちが望むものではありません。これは、Wirecloudが取得したアクセストークンとは異なるため、何らかの種類のプロキシが再度ログインする必要があります。組織のメンバーシップを取得します。それはアクセストークンを通過する点をむしろ打ち負かします。
これは、fiware labsインスタンスのKeyRock APIのバグのようです。 ここに何か不足していますか? 私たち自身のサーバーにkeyrockをインストールすると、この問題は魔法のように消えてしまいますか?任意の助け
おかげで、 ロビン
私はここにリンクを見つけました:[link](https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/Application_Mashup_-_Wirecloud_-_User_and_Programmer_Guide# getTenants)とWirecloudサンプルウィジェット:テナント(= Keystoneプロジェクト)の取得を許可する[link](https://wirecloud.conwet.etsiinf.upm.es/slides/3.2.2_Using%20Object%20Storage.html#slide28) = KeyRock組織)をワイヤクラウドウィジェットから削除します。私はマッシュアップにウィジェットをアップロードしましたが、私はオブジェクトストレージを設定していませんが(ウィジェットが不平を言うようになりました)、私のユーザがメンバーである組織を見ることができます。 – Robin
上記のコメントは、代わりにKeystone APIを使用してKeyRock APIをWirecloudから直接回避することができますが、KeyRock APIをまったく使用する必要があるかどうかという疑問があります。 – Robin
解決策を見つけましたか?私はまた、組織の空リストを取得しています。組織の所有者であっても、空のリストを受け取ります。 – Dalton