0

Oauth 2.0 に基づいて、Fiware Enabler: Keyrock IdM、Wilma Proxy、および AuthZforce 承認サーバーを使用して、認証/承認スキームを開発しています。

Keyrock と Wilma をインストールして構成したところ、問題なく動作しました。

同じマシンに AuthZForce をインストールしました。このマシンの Ubuntu 14.04 には、Java OpenJDK 1.7.0_91 と Tomcat 7 がインストールされています。

インストールガイドに従い、gdebi で AuthZforce をインストールしましたが、実際にはガイドにある curl コマンドでドメインを作成できません。

curl --verbose --trace-ascii - --request POST \ --header "Content-Type: application/xml;charset=UTF-8" --data '<?xml version="1.0" encoding="UTF- 8"?><taz:domainProperties xmlns:taz="http://authzforce.github.io/rest-api-model/xmlns/authz/4"> <name>MyDomain</name><description>これは私のドメインですdomain.</description></taz:domainProperties>' --header "Accept: application/xml" http://${MYSERVERHOST}:${MYPORT}/authzforce-ce/domains

次のエラーが発生しました。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:error xmlns:ns2="http://authzforce.github.io/rest-api-model/xmlns/authz /4" xmlns:ns3="http://www.w3.org/2005/Atom" xmlns:ns4="http://authzforce.github.io/core/xmlns/pdp/3.6" xmlns:ns5=" http://authzforce.github.io/pap-dao-file/xmlns/properties/3.6"><メッセージ>無効なパラメーター: cvc-complex-type.2.4.a: 「名前」で始まる無効なコンテンツ。要素「名前」で始まる無効なコンテンツが見つかりました。要素「{description, rootPolicyRef}」が必要です。</message></ns2:error>

xml 検証エラーのようです。AuthZforce API にアクセスしようとしましたが、プログラマー ガイドのリンクで 404 エラーが表示されます。

誰でもこの問題を解決する方法を提案できますか?

前もって感謝します。〜

4

1 に答える 1

0

最初の回答が拒否されたことに気付いたので、より良い回答を提供しようと思います。その間、新しい AuthzForce リリースが出てきたので、ここで最新の AuthzForce v5.4.1 の動作例を示します。domainProperties.xml(必要に応じてアップグレードしてください。) 簡単にするために、XML ペイロードをファイルに書き込んで、curl コマンドで再利用しましょう。

$ cat domainProperties.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<domainProperties xmlns="http://authzforce.github.io/rest-api-model/xmlns/authz/5" externalId="myOwnId">
   <description>This is my domain</description>
</domainProperties>

externalId はオプションであり、新しいドメインに使用する任意のエイリアスに設定できます。

curl コマンドは次のようになります。

$ curl --verbose --request "POST" --header "Content-Type: application/xml;charset=UTF-8" --data @domainProperties.xml --header "Accept: application/xml" http://localhost:8080/authzforce-ce/domains

localhostホスト名の場合は置き換え8080、必要に応じてサーバー ポートに置き換えます。応答は、新しいドメイン ID を持つ新しいドメイン リソースへのリンクを提供する必要があります。

...
< HTTP/1.1 200 OK
< Server: Authorization System
< Date: Mon, 04 Aug 2016 13:00:12 GMT
< Content-Type: application/xml
< Transfer-Encoding: chunked
<
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<link xmlns="http://www.w3.org/2005/Atom" rel="item" href="h_D23LsDEeWFwqVFFMDLTQ" title="h_D23LsDEeWFwqVFFMDLTQ"/>

詳細については、インストール ガイドを参照してください。

また、externalId を使用してドメイン情報を取得することもできます。

$ curl --verbose --request "GET" --header "Accept: application/xml" http://localhost:8080/authzforce-ce/domains?externalId=myOwnId 

詳細については、ユーザー ガイドを参照してください。

于 2016-11-14T11:18:03.670 に答える