Проблемы с созданием домена в Fiware AuthZforce Authorization Server
Я разрабатываю схему аутентификации / авторизации на основе Oauth 2.0 с использованием Fiware Enablers: Keyrock IdM, Wilma Proxy и сервера авторизации AuthZforce.
Я установил и настроил Keyrock и Wilma, и они отлично работают вместе.
На этой же машине я установил AuthZForce. Java OpenJDK 1.7.0_91 и Tomcat 7 установлены в Ubuntu 14.04 на этом компьютере.
Я следовал руководству по установке и установил AuthZforce с помощью gdebi, но на самом деле я не могу создать домен с помощью команды curl, найденной в руководстве:
curl --verbose --trace-ascii - --request POST \ --header "Content-Type: application / xml; charset = UTF-8" --data ' xml version = "1.0" encoding = "UTF- 8 "?>
Я получил следующую ошибку:
xml version = "1.0" encoding = "UTF-8" standalone = "yes"?>
Кажется, это ошибка проверки XML. Я пытался получить доступ к AuthZforce API, но ссылка в руководстве программиста выдает ошибку 404.
Кто-нибудь может подсказать, как исправить эту проблему?
Заранее спасибо. ~
1 ответ
Я понял, что мой первоначальный ответ был отклонен, поэтому я постараюсь дать лучший. Тем временем вышли новые версии AuthzForce, поэтому я приведу здесь рабочий пример для последней версии AuthzForce v5.4.1. (При необходимости обновите.) Для простоты давайте запишем полезную нагрузку XML в файл. domainProperties.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
с портом сервера при необходимости. Ответ должен содержать ссылку на новый ресурс домена с новым идентификатором домена:
...
< 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
Больше информации в руководстве пользователя.