2016-04-17 4 views
3

FINISHアクセラレータの一部として、私たちはFIWARE KeyRockとWirecloudを使用しています。現在、私たちは、調査するために、Fiware labsのグローバルインスタンスを使用しています。Fiware KeyRock APIのバグ:返されなかった団体の会員

ユーザーは、自分が所属する組織に属するデータのみを表示できるようにシステムを制限したいと考えています。

次のフローは、論理ようだが、私は間違っているなら、私を修正:

  1. ユーザーがログインWirecloudへとKeyRockログイン画面を介して導かれます。
  2. A WirecloudウィジェットはWirecloud環境からのアクセストークンを取得します。アクセストークンは、ユーザーがログインしたときに作成されました。
  3. Wirecloudウィジェットは、ユーザーが所属する組織とロールを検索します。これに基づいて、クエリに組織名が追加されます。
  4. Wirecloudウィジェットはそれだけで作成したクエリを使用してWebサービス(オリオンまたはそれ以外)を照会します。
  5. 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をインストールすると、この問題は魔法のように消えてしまいますか?任意の助け

おかげで、 ロビン

+0

私はここにリンクを見つけました:[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

+0

上記のコメントは、代わりにKeystone APIを使用してKeyRock APIをWirecloudから直接回避することができますが、KeyRock APIをまったく使用する必要があるかどうかという疑問があります。 – Robin

+0

解決策を見つけましたか?私はまた、組織の空リストを取得しています。組織の所有者であっても、空のリストを受け取ります。 – Dalton

答えて

1

あなたはhereが、特定の組織を用いて説明手順に従わなければなりません。おそらくあなたは「承認」のステップを逃したでしょう

+1

回答ありがとうございました。これにより、https://account.lab.fiware.org/user?access_token=xxxx呼び出しで充満した組織要素が追加されます。しかし、KeyRockユーザーインターフェイスの**メンバー**タブにユーザーを追加した後、** organizations **要素にデータが含まれることを期待していました。/user API呼び出しは、思われるユーザーインターフェイスと同じ構造に従わず、非常に混乱します。これで、ユーザーを組織に追加することに加えて、権限を追加する義務があります。それは意味をなさないかもしれませんが、KeyRock UIは理解を促進しません。 – Robin

+0

Alvaroでは、[認証]ボタンは、ユーザーが[設定] - [アカウントのステータス]画面で[コミュニティのアップグレード]を要求するまで表示されません。どのようにして私たちは 'Community Upgrade'を自動化するか、それをバイパスして私たち自身のインストールで使用することができます。または、[KeyRockサーバー] /ユーザー呼び出しを変更するだけですか?もしそうなら、どのソースファイルを調べるべきですか? – Robin

関連する問題