Я интегрирую аутентификацию при входе в Azure AD в свое веб-приложение. Я создал учетную запись на портале разработки Azure и зарегистрировал свое приложение как веб-приложение. В настройках регистрации приложения я указал URL-адрес перенаправления, как показано ниже,
URL перенаправления: https://mdb-dev-ext.xyzcde.com/my.dashboard/azureLogin.html?
В моем веб-приложении на Java я реализовал логику для получения токена Azure в вышеупомянутой конечной точке (azureLogin.html). Я использовал библиотеку Java 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://mdb-dev-ext.xyzcde.com/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;
}
Примечание: я не указал значение для "URL домашней страницы", я считаю, что это не обязательно.
Теперь, выполняя следующие шаги, я сталкиваюсь с ошибкой
Войдите на сайт portal.office.com
войти в систему с учетными данными моей учетной записи
После перехода на домашнюю страницу Office 365 я вижу в списке значок своего веб-приложения.
при нажатии на значок / кнопку моего веб-приложения я перенаправляюсь и, наконец, выдаю ошибку ниже. в журнале сервера моего веб-приложения нет обновлений журнала. я уверен, что это не дошло до моего веб-приложения.
"You cannot access this application because it has been misconfigured. Contact your IT department and include the following information:
Undefined Sign-On URL for application"
Если я предоставил URL-адрес для входа своего веб-приложения в поле URL-адреса домашней страницы, как показано ниже,
URL домашней страницы: https://mdb-dev-ext.xyzcde.com/my.dashboard
затем, пытаясь открыть мое приложение из офиса 365, он открывает страницу входа в мое веб-приложение (где будет предложено ввести имя пользователя и пароль БД приложения). это не то, что я ищу.
то, что я хочу достичь, -> войти в офис 365 -> нажать кнопку моего веб-приложения -> должен загрузиться URL-адрес перенаправления, указанный на лазурном портале во время регистрации моего приложения -> который в конечном итоге вызовет логику кода, написанную в моем веб-приложении, для получить лазерный токен и войти в мое приложение с возвращенным лазурным токеном, хранящимся в сеансе.
пожалуйста, дайте мне знать, что мне здесь не хватает. почему я получаю этот неопределенный URL-адрес для входа в систему из-за ошибки приложения? Почему при щелчке значка моего приложения на портале Office 365 не выполняется перенаправление на настроенный URL-адрес перенаправления?