У меня есть следующий клиент:
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, поскольку это все еще фаза разработки.