Как выполнить вход в Keycloak с помощью действий в Google? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь выполнить вход через действие в Google с помощью Google Assistant (в Dialogflow), но по какой-то причине это не удается.Вход работает (он запрашивает мое имя пользователя и пароль), затем браузер исчезает, и Google Assistant говорит, что аутентификация не удалась.

  • создал новый клиент в Keycloak и добавил URL-адрес перенаправленияи разрешенные веб-источники

  • Добавлена ​​привязка аккаунта на консоли действий с URL-адресом авторизации, идентификатором клиента, секретным URL-адресом токена (это может быть неправильный URL-адрес, я пробовал один, но не смогнайти правильный URL)

  • Созданные намерения, развернутые в Firebase с Dialogflow, который запрашивает аутентификацию

'use strict';

// Import the Dialogflow module from the Actions on Google client library.
const {dialogflow, SignIn} = require('actions-on-google');

// Import the firebase-functions package for deployment.
const functions = require('firebase-functions');

// Instantiate the Dialogflow client.
const app = dialogflow({clientId: 'my-client-id', debug: true});

app.intent('sign in', (conv, {person}) => {
    conv.ask(new SignIn(""));
    const name = person.name;
    conv.close('Hello ' + name);
});

// Create a Dialogflow intent with the `actions_intent_SIGN_IN` event.
app.intent('Get Signin', (conv, params, signin) => {
  if (signin.status === 'OK') {
    const payload = conv.user.profile.payload;
    conv.ask(`I got your account details, ${payload.name}. What do you want to do next?`);
  } else {
    conv.ask(`I won't be able to save your data, but what do you want to do next?`);
  }
});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

В основном, когда человек запускает знакв функции он запрашивает имя.Затем он должен войти в систему и снова напечатать указанное имя и закрыть диалог.

Всплывающее окно входа в систему просто исчезает после входа в систему, и помощник Google сообщает мне, что что-то пошло не так, и что я должен попробовать позже.Ошибки не найдены или, по крайней мере, я не смог их найти.Я подозреваю, что мои настройки привязки аккаунта неверны, но я не уверен.

1 Ответ

0 голосов
/ 14 июня 2019

Теперь он работает, используя правильный URL токена, найденный в https://keycloakurl:keycloakport/auth/realms/realm-name/.well-known/openid-configuration.

...