Я пытаюсь получить доступ к API отдыха, защищенному экземпляром службы APP ID.Я пробовал два подхода для доступа к остальному ресурсу, но всегда я получаю <title>Redirect To OP</title>
перенаправить HTML в качестве ответа вместо фактического ресурса.
1.подход 1
Использование облачного каталога user & и grant_type = пароль для конечной точки токена
1.1 Я добавил пользователя и пароль в облачный каталог.
1.2 HTTP POST для <oauthServer>/token
конечной точки с clientID и Secret в качестве базовой аутентификации и grant_type=password
, username=<cloud_direcotry_user>
, password=<password>
1.3 Я получаю access_token и Identity Token
1.4 Вызванный защищенный ресурс с заголовком авторизации, который имеет токен доступа и токен идентификации в качестве значения заголовка 'authorization' Bearer <accesstoken> <identity token>
1.5 Ответ содержит перенаправленный HTML вместо фактического ресурса JSON / XML.
Подход 2
2.1 Извлечение токена доступа с использованием <oauthserverUrl>/token
конечной точки и grant_type=client_credentials
добавление Базовая аутентификация с Идентификатором клиента и Секретом в качестве имени пользователя ипароль
2.2 Я получил токен доступа с типом Bearer
2.3 для вызова защищенного ресурса с авторизацией заголовок
authorization: Bearer <access_toke>
2.4 Я получил такой же ответ на перенаправление<title>Redirect To OP</title>
вместо фактического ресурса JSON / XML
___ Новое обновление ____
Вот конфигурация клиента openid подключения iberty поставщика ресурса.
<openidConnectClient id="<identifier>"
clientId= "${APPID_CLIENT_ID}"
clientSecret= "${APPID_CLIENT_SECRET}" authorizationEndpointUrl="${APPID_AUTH_SERVER}/authorization"
tokenEndpointUrl="${APPID_AUTH_SERVER}/token"
jwkEndpointUrl="${APPID_AUTH_SERVER}/publickeys"
issuerIdentifier="${APPID_AUTH_SERVER_ISSUER}"
tokenEndpointAuthMethod="basic"
signatureAlgorithm="RS256"
authFilterid="myAuthFilter"
trustAliasName="ng.bluemix.net"
trustStoreRef="appidtruststore"
redirectToRPHostAndPort="https://${env.APPID_SAMPLE_HOST}:${env.APPID_SAMPLE_SSL_PORT}"
userIdentityToCreateSubject="email"
inboundPropagation="supported"
validationEndpointUrl="${APPID_AUTH_SERVER}/introspect"
validationMethod="introspect"
/>