Почему OpenLiberty -OpenID connect server-URL-адреса конечной точки ответа URL-адреса обнаружения не являются HTTP? - PullRequest
0 голосов
/ 10 апреля 2020

Я создал сервер OpenLiberty с конфигурацией поставщика openid connect. Сервер. xml извлечение:

        <httpEndpoint host="example.net"
            httpPort="80" httpsPort="9443" id="defaultHttpEndpoint" />

        <oauth-roles>
            <authenticated>
                    <special-subject type="ALL_AUTHENTICATED_USERS" />
            </authenticated>
        </oauth-roles>

        <openidConnectProvider id="OP"
            oauthProviderRef="Oauth" signatureAlgorithm="RS256"
            keyStoreRef="defaultKeyStore" keyAliasName="default"
            issuerIdentifier="https://example.net/oidc/endpoint/OP">
            <scopeToClaimMap mail="mail"
                    profile="name, given_name, carLicense, preferredLanguage" />
            <claimToUserRegistryMap given_name="givenName"
                    name="sn" mail="mail" preferredLanguage="preferredLanguage"
                    carLicense="carLicense" />
        </openidConnectProvider>

        <oauthProvider accessTokenLifetime="300s" id="Oauth"
            httpsRequired="false"
            customLoginURL="https://example.net/oidc/login.jsp">
            <localStore>
            </localStore>
        </oauthProvider>

После запуска сервера, когда я пытаюсь получить доступ к discoveryendpoint-url: https://example.net/oidc/endpoint/OP/.well-known/openid-configuration

Ответ:

  {"introspection_endpoint":"http://example.net/oidc/endpoint/OP/introspect",
  "coverage_map_endpoint":"http://example.net/oidc/endpoint/OP/coverage_map",
  :
  :
  :
  }

В то время как в localhost: https://localhost: 9443 / oidc / конечная точка / OP / .well-known / openid-configuration Я получаю

   {"introspection_endpoint":"https://localhost:9443/oidc/endpoint/OP/introspect",
    "coverage_map_endpoint":"https://localhost:9443/oidc/endpoint/OP/coverage_map",
    :
    :
   }

у кого-либо есть идеи о том, почему я не получаю URL-адреса конечных точек на основе https из примера. net?

1 Ответ

1 голос
/ 10 апреля 2020

Вы не прослушиваете порт 443, поэтому этот URL может быть ошибочным: https://example.net/oidc/endpoint/OP/.well-known/openid-configuration, так как для этого потребуется прослушивание на 443. Или, возможно, вы проходите через какой-то прокси, который пересылает Свобода на http.

При таком доступе через http, http://example.net/oidc/endpoint/OP/.well-known/openid-configuration

, который будет возвращать конечные точки http, поскольку ваша конфигурация имеет httpsRequired = false. Вы можете установить значение true, чтобы запретить http-связь.

...