Microsoft에서 계정 연결을 지원하는 Alexa 기술과 ASP.NET Core를 사용하여 계정을 연결하는 인프라를 호스팅하고 있습니다. IIS에 Azure AppService 웹 사이트.Alexa App이 ASP.NET 코어 ID에서 발급 한 302 리디렉션이 아닙니다.
나는 Microsoft.AspNetCore.Authentication.*
NuGet 패키지를 통해 Amazon, Facebook, GitHub, Google, Microsoft 및 Twitter를 사용하여 로그인 할 수있는 기능을 구현했습니다. 이것들은 모두 웹 브라우저의 표준 로그인과 브라우저를 통한 계정 연결 프로세스의 수동 테스트를 위해 완벽하게 작동합니다.
그러나 iOS Alexa App을 사용하면 Amazon 및 Facebook 만 작동합니다. 임베디드 앱에서의 사용이 허용되지 않아 Google에서 작동하지 않기 때문에 (Google 403 페이지에서이 사실을 알게됩니다), 다른 세 사람은 무슨 일이 일어나고 있는지 잘 모릅니다. iOS Safari에서는 정상적으로 작동하므로 iPhone 또는 iPad에서 전역 적으로 작동하는 것으로 확인되었습니다.
로그인 양식을 제출하면 GitHub, Microsoft 및 Twitter가 모두 멈춘 것처럼 보입니다. 나는 CSP를 사용
은, 그래서 (예를 들어, 때로는 아마존이 난 단지 account.amazon.com
를 사용할 것이라고 생각대로 처음에는 실패 원인 na.account.amazon.com
로 리디렉션) 아마 form-action
목록이 정확하지라고 생각하지만, 문제가 지속되면 CSP 목록은 임시적으로 CSP를 배제 할 수 있도록 업데이트되었습니다. 또한 오류가없는 CSP에는 report-uri.io
을 사용합니다.
필자는 Fiddler를 프록시로 실행했으며 포함 된 페이지가 HTTP POST를 내 사이트에 올바르게 전송한다는 것을 발견했습니다. 6 개의 경우 모두 올바른 HTTP 302 응답으로 응답합니다. 아마존과 페이스 북의 경우 302가 뒤 따르고 모든 것이 예상대로 작동합니다. 문제가있는 나머지 3 명은 Alexa App의 요청이 끝난 것으로 보입니다.
는 임베디드 브라우저가 완전히에 로그인하는 동안 저승에서 사용자를 남겨두고는 HTTP (302S)를 무시하는 것 같다
나는 또한 다른 행동 전시 안드로이드 알렉사 앱 시도했습니다.
을- Amazon - 리디렉션은 Chrome을로드하여 인앱 흐름을 중단합니다.
- Facebook - 제대로 작동합니다.
- GitHub - 리디렉션으로 Chrome을로드하고 인앱 플로팅을 중단합니다.
- Google - 올바르게 작동합니다.
- Microsoft - 리디렉션은 Chrome을로드하여 인앱 흐름을 깨습니다.
- Twitter - 리디렉션은 Chrome을로드하고 인앱 플로를 깨뜨립니다.
유일한 공통 분모는 Facebook과 Google이 두 앱 모두에서 작동한다는 것입니다 (Google은 iOS에서의 사용을 허용하지 않지만).
알렉사 애플 리케이션이 이러한 리디렉션을 올바르게 따르지 못하게 할 수있는 원인은 무엇입니까/없습니까? iOS 앱이 리디렉션을 따르지 않게하는 원인은 무엇입니까? Android 앱이 인앱 브라우저 대신 Chrome에서 리디렉션을 열게 된 원인은 무엇입니까?