Почему WSO2 IS 5.6.0 SCIM2 Group API выдает ошибку при попытке вставить или обновить пользователей? - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь использовать API-интерфейсы WIM2 Identity Server SCIM2 для создания и обновления пользователей и групп. Однако я сталкиваюсь с проблемами с API обновления групп (PUT / scim2 / Groups / {id}): если я пытаюсь вставить какого-либо пользователя в тело сообщения, API всегда возвращает ошибку HTTP 500 («Ошибка при доступе к Java»). Security Manager Privilege Block ").

Вот как воспроизвести ошибку:

1) Сначала мы создаем пользователя:

curl -X POST \
  https://auth-server:9444/scim2/Users/ \
  -H 'Accept: */*' \
  -H 'Authorization: Basic YWRtaW46YWRtaW4=' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: a43e26c0-fb00-4fa0-9482-74f62078d6b1' \
  -H 'cache-control: no-cache' \
  -d '{
    "emails": [{
        "type": "home",
        "value": "test.user@test.com.br",
        "primary": true
    }],
    "password": "test.user",
    "name": {
        "familyName": "Test",
        "givenName": "User"
    },
    "userName": "test.user"
}'

Получаем в ответ HTTP 200 с телом:

{
    "emails": [
        {
            "type": "home",
            "value": "test.user@test.com.br",
            "primary": true
        }
    ],
    "meta": {
        "created": "2019-01-09T20:41:27Z",
        "location": "https://localhost:9444/scim2/Users/14fc39fc-1b0c-4db2-9e3a-bd5c522770bb",
        "lastModified": "2019-01-09T20:41:27Z",
        "resourceType": "User"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "name": {
        "familyName": "Test",
        "givenName": "User"
    },
    "id": "14fc39fc-1b0c-4db2-9e3a-bd5c522770bb",
    "userName": "test.user"
}

2) Далее мы создаем группу:

curl -X POST \
  https://auth-server:9444/scim2/Groups/ \
  -H 'Accept: */*' \
  -H 'Authorization: Basic YWRtaW46YWRtaW4=' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 45d2220d-d33d-42ba-8ce5-205646aa2963' \
  -H 'cache-control: no-cache' \
  -d '{
    "displayName": "Application/Test",
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Group"
    ]
}'

Получаем в ответ HTTP 200 с телом:

{
    "displayName": "APPLICATION/Test",
    "meta": {
        "created": "2019-01-09T20:43:22Z",
        "location": "https://localhost:9444/scim2/Groups/7feb0a54-18c5-4265-bdd6-7ceecd96bf0d",
        "lastModified": "2019-01-09T20:43:22Z",
        "resourceType": "Group"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "id": "7feb0a54-18c5-4265-bdd6-7ceecd96bf0d"
}

3) Когда мы пытаемся связать вновь созданного пользователя с группой, мы получаем ошибку HTTP 500. Смотрите ниже:

curl -X PUT \
  https://auth-server:9444/scim2/Groups/7feb0a54-18c5-4265-bdd6-7ceecd96bf0d \
  -H 'Accept: */*' \
  -H 'Authorization: Basic c2NpbS5kY2xvZ2c6c2NpbS5kY2xvZ2c=' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 6db43a33-af40-452e-83eb-40f8d6e3c5e3' \
  -H 'cache-control: no-cache' \
  -d '{
    "displayName": "APPLICATION/Test",
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "members": [
        {
            "value": "14fc39fc-1b0c-4db2-9e3a-bd5c522770bb",
            "display": "test"
        }
    ]
}'

Ошибка HTTP 500:

{
    "schemas": "urn:ietf:params:scim:api:messages:2.0:Error",
    "detail": "Error occurred while accessing Java Security Manager Privilege Block",
    "status": "500"
}

Для аутентификации я использую обычную аутентификацию с пользователем "admin" Identity Server; но я также пытался создать пользователя со всеми возможными разрешениями, но ошибка всегда одинакова. В консоли выполнения я попытался уточнить журнал, однако отображается только сообщение ниже:

[2019-01-09 20:47:00,656] DEBUG {org.wso2.carbon.user.core.common.AbstractUserStoreManager} -  Domain: APPLICATION is passed with the claim and user store manager is loaded for the given domain name.
[2019-01-09 20:47:00,658] ERROR {org.wso2.carbon.user.core.common.AbstractUserStoreManager} -  Error occurred while accessing Java Security Manager Privilege Block

Действительно ли этот групповой API работает для запросов на обновление?

Если кто-то может помочь, я ценю это. Спасибо.

1 Ответ

0 голосов
/ 10 января 2019

Пожалуйста, измените ваш запрос о добавлении пользователя в группу следующим образом, это прекрасно работает для меня.

curl -v -k --user admin: admin -X PUT -d '{"displayName": "PRIMARY / manager", "members": [{"value": "416aaa06-d9ed-465b-8ac4- 1a321624d158 "," display ":" test.user "}]} '--header" Content-Type: application / json "https://localhost:9444/scim2/Groups/5d6ffce8-fab8-45ee-a407-b1cae0e4ecee

...