Настройка аутентификации OAuth 2 с помощью NativeScript, предоставленного шаблоном проекта Enterprise Auth - PullRequest
0 голосов
/ 26 января 2019

Я настраиваю аутентификацию OAuth 2 с NativeScript, предоставленным шаблоном проекта Enterprise Auth, я следовал полному руководству по настройке Azure Active Directory. После настройки URL-адресов и ключей, когда я запускаю приложение через tns preview, оно выдает мне следующую ошибку:

https://auth.kinvey.com/v3/oauth/auth?client_id=kid_SJcDEau7N&redirect_uri=nsplayresume%3A%2F%2F&response_type=code&scope=openid

Ошибка: {"error": "invalid_client", "error_description": "Аутентификация клиента не удалась.", "debug": "Ошибка проверки клиента: перенаправление uri недопустимо"}

Когда я проверял скрипт входа в систему, он показывал ошибку, потому что в функции Kinvey.User.loginWithMIC () не было аргумента, поэтому я предоставил Kinvey.User.loginWithMIC ('http://example.com'), как это было показано в видеоурок.

login() {
    if (Kinvey.User.getActiveUser() == null) {
        Kinvey.User.loginWithMIC()
            .then((user: Kinvey.User) => {
                this.navigateHome();
                console.log("user: " + JSON.stringify(user));
            })
            .catch((error: Kinvey.BaseError) => {
                alert("An error occurred. Check your Kinvey settings.");
                console.log("error: " + error);
            });
    } else {
        this.navigateHome();
    }
}

Как и ожидалось, должен отображаться экран входа в систему для учетной записи, которую я настроил в Azure Active Directory.

1 Ответ

0 голосов
/ 31 января 2019

Здесь У меня есть решение NativeScript , в котором используется Mobile Identity Connect Kinvey . Он в основном построен с использованием того же шаблона, который вы хотели бы использовать. Перед запуском этого проекта вам нужно позаботиться о нескольких важных шагах:

  • Откройте файл kinvey.common.ts из папки src/app/shared и установите идентификатор приложения и секрет приложения идентификатор экземпляра , если присутствует, если нет - удалите атрибут). Это необходимо для того, чтобы приложение NativeScript могло подключаться к вашему Kinvey Backend .
  • Откройте контроллер TypeScript компонента входа в систему и установите идентификатор MIC . Идентификатор MIC является идентификатором MIC Service . Это сообщит приложению, к какому сервису обращаться из серверной части.
  • Откройте Настройки службы MIC из Kinvey Console и установите myscheme:// в качестве URI перенаправления . Конечная точка авторизации обычно перенаправляет пользователя на зарегистрированный клиентский URL-адрес перенаправления . В зависимости от платформы собственные приложения могут запрашивать шаблон URL или регистрировать пользовательскую схему URL , которая будет запускать приложение. Например, приложение для iOS может зарегистрировать пользовательский протокол, например myapp://, а затем использовать redirect_uri из myapp://callback.

Самый актуальный список этих важных элементов вы можете найти в файле хранилища README . Попробуйте, и дайте мне знать, если вы можете заставить Kinvey MIC работать.

...