Azure AD перенаправляет на URL-адрес входа вместо URL-адреса перенаправления - PullRequest
0 голосов
/ 25 сентября 2019

Я интегрирую аутентификацию входа в Azure AD в свое веб-приложение.Я создал учетную запись на портале разработки Azure и зарегистрировал данные своего приложения.Следующая информация предоставляется при регистрации приложения на портале Azure.Я указал URL-адрес для входа в мое веб-приложение для URL-адреса входа

URL-адрес входа -> https://my -sample-app / my.dashboard /

RedirectURL-адрес -> https://my -sample-app / my.dashboard / azureLogin.html ?

Теперь, когда я захожу на portal.office.com и захожу со своими учетными данными, яможете видеть значок моих веб-приложений на целевой странице Office 365.при выборе значка моего веб-приложения меня перенаправляют на страницу входа в мое веб-приложение, а не на URL-адрес перенаправления, указанный при регистрации приложения.

Изначально я не предоставлял URL-адрес для входа, но один разЯ проверил, не предоставив этого, я получил ошибку «неопределенный URL для входа в приложение».Поэтому я указал URL-адрес для входа в мое веб-приложение в поле URL-адрес для входа, теперь вместо указанного URL-адреса для перенаправления я получаю перенаправление на страницу входа в свое веб-приложение

Я использовал библиотеку ADAL для получения токена доступа.ниже приведен код.

private AuthenticationResult acquireTokenByAuthorizationCode(String authCode) {
    String authority = System.getProperty("dashboard.azure.authority.url", "https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxx/oauth2/token");
    String clientId = System.getProperty("dashboard.azure.client.id", "xxxxxxxxxxxxxxxxxxxxxxxxx");
    String clientSecret = System.getProperty("dashboard.azure.client.secret", "xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    String redirectUrl = System.getProperty("dashboard.azure.redirect.uri", "https://my-sample-app/my.dashboard/azureLogin.html?");
    AuthenticationResult result = null;
    ExecutorService service = null;
    try {
      service = Executors.newFixedThreadPool(1);
      AuthenticationContext context = new AuthenticationContext(authority, false, service);
      ClientCredential credential = new ClientCredential(clientId, clientSecret);
      Future<AuthenticationResult> future = context.acquireTokenByAuthorizationCode(authCode, URI.create(redirectUrl), credential, null);
      result = future.get();
    } catch (Exception e) {
      LOGGER.error("Error occurred while acquiring token from Azure {}", e.getMessage());
      throw new Exception(String.format("Error occurred while acquiring token from Azure. %s", e.getMessage()));
    }
    return result;
  }

Я уверен, что проблема не в коде.посоветуйте пожалуйста что мне здесь не хватает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...