Identity Server 4 / nativescript зависает - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть следующий клиент:

new Client
{
    ClientId = "nativeapptest",
    ClientName = "Native App Test",
    Enabled = true,
    RequireClientSecret = false,
    AllowedGrantTypes = GrantTypes.Code,
    RedirectUris = { "com.mysite.nativeapp.12365789785256-buv2dwer7jjjjv5fckasdftn367psbrlb:/home" },
    AllowedScopes =
    {
        IdentityServerConstants.StandardScopes.OpenId,
        IdentityServerConstants.StandardScopes.Profile,
        "MyScope"
    },
    RequirePkce = false,
    AllowOfflineAccess = true,
    RequireConsent = false
}

Я использую native-script для создания приложения для Android, которое может войти в систему с Identity Server 4. В настоящее время происходит то, что я делаю запрос к IS4 с помощьюоткрыв браузер и используя всю правильную конфигурацию OpenID, я попадаю на экран входа в систему, который затем выбираю для входа в Google.Однажды в Google, я ввожу свой адрес электронной почты и пароль, и все хорошо, а затем Google пытается отправить меня обратно на мой сайт, но он просто зависает ... Это белая страница, на которой ничего не загружено, и она просто сидит там навсегда, ошибок нетнасколько я могу судить о сообщениях, зарегистрированных в is4.

Приведенная выше часть входа для nativescript из библиотеки OAutho2 https://www.npmjs.com/package/nativescript-oauth2

Я пытаюсь понять, будет ли это проблемой на IS4или родное приложение для Android.Страница зависла, потому что она ожидает, что приложение для Android вступит во владение после того, как логин сработал?Может, проблема в схеме RedirectURI?

URL-адрес, на котором она висит, выглядит следующим образом:

http://login.mysite.com/connect/authorize?client_id=nativeapptest&response_type=code&redirect_uri=com.mysite.nativeapp.12365789785256-buv2dwer7jjjjv5fckasdftn367psbrlb%3A%2Fhome&scope=openid%20profile%20MySite&response_mode=query&st

РЕДАКТИРОВАТЬ:

Поскольку я запускаю это на реальном сервере, я не могу отладить его напрямую, однако я добавил журналы, чтобы посмотреть, как далеко заходит код.Мои журналы говорят мне, что пользователь вошел в систему через Google и мою систему, и мои журналы также показывают, что ExternalCallback перенаправил страницу на

/ connect / authorize / callback? Client_id = nativeapptest & response_type = code & redirect_uri = com.mysite.nativeapp% 3A% 2F% 2Fhome & scope = openid% 20profile% 20MyScope & response_mode = query & state = abcd

На этом этапе страница зависает.

Обратите внимание, что мы изменили RedirectUri наcom.mysite.nativeapp, чтобы помочь с тестированием.

Наконец, я не уверен, имеет ли это значение, но мы не используем https, поскольку это все еще фаза разработки.

1 Ответ

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

только что закрыл образец приложения

Шаг 01

Мы откроем окно Run

На клавиатуре нажмите

Windoes Key + R

wait

Шаг 02

Мы откроем окно cmd

В окне «Выполнить ввод текста» напишите

cmd

на клавиатуре, нажмите

Enter

Шаг 03

Мы создадим каталог и сделаем его рабочим каталогом для нашего cmd

В окне CMD напишите

mkdir D:\Experiments\E.IDser.NativeScript

cd /d D:\Experiments\E.IDser.NativeScript

Шаг 04

Мы сделаем клон образца проекта

В окне CMD напишите

git clone https://github.com/Elrashid/nativescript-client-and-identity-server-sample.git

cd nativescript-client-and-identity-server-sample

Шаг 05

Теперь запустим приложения

В окне CMD напишите

Start.bat

Шаг 06

как использовать

enter image description here enter image description hereenter image description here

enter image description here enter image description here enter image description here

почему

1    app
              +---+
                  |
     identity     |
2    server       |
                  |
                  |
                  |
3    google       +-+   user
                  |     intractiom
                  |
                  |       your
     identity     |       app
4    server       | <---+ stop
              +---+       here

5     app     +---+
                  |
                  |
                  |
     identity     +--+  background
6    server       |
                  |
                  |
7     app         |
               +--+

см. зарегистрировать пользовательскую схему URL для Android

<data 
android:path="/home"
android:scheme="com.mysite.nativeapp
            .12365789785256-buv2dwer7
            jjjjv5fckasdftn367psbrlb"
/>

, также вы можете попробовать

 tns debug android

Erorr Этот сайт недоступен

связь между Identity Server и Native-Script

  • run

    nativescript-client-and-identity-server-sample/Start.bat
    
  • не запускать запустить

    "nativescript-client-and-identity-server-sample/identity-server/Start.bat"
    "nativescript-client-and-identity-server-sample/nativescript-client/Start.bat"
    
  • приложение собственного скрипта должно запускаться в эмуляторе Android

    enter image description here

  • идентификационный сервер должен быть запущен на локальном компьютере через порт 5010

  • проверить в браузере windows , который можно открыть

    http://localhost:5010
    
  • если да

  • проверьте в своем ** эмуляторе Android ** браузер, который вы можете открыть

    http://10.0.2.2:5010
    
  • что такое 10.0.2.2?

    специальный псевдоним вашего петлевого интерфейса хоста эмулятора Android

  • Могу ли я изменить местоположение моего хоста 10.0.2.2?

    открыть nativescript-client \ app \ my-oauth-provider.ts

        public authority = "http://10.0.2.2:5010";
        public tokenEndpointBase = "http://10.0.2.2:5010";
        public cookieDomains = ["10.0.2.2:5010"];
    
  • изменить http://10.0.2.2:5010 на свой веб-адрес

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