如何从用户池(而不是身份池)使用联合!

How to use Federation from a User Pool (not from an Identity Pool)!

我正在尝试使用 Federation from a User Pool. Note, I am not talking about Federated Identity Pool 一个不同的概念。

是否有联合用户的登录 API 或只是一个托管的 UI

应用 "have to" 是否会在看起来像 https://XXXXXX.au=th.XXXXX.amazoncognito.com/login?response_type=code&client_id=XXXXXXXXX&redirect_uri=XXXXXXX 的登录 URL 上打开浏览器?最终用户是否可以留在应用程序中,类似于 Android 上的 Google SignIn API 的工作方式(它会弹出一个小的 Google 登录 UI ,用户点击他们的名字,您会立即返回应用程序并获得令牌。

如何在该登录 URL 上启动浏览器?

如何在用户完成登录后回调我的应用程序?

具体来说,我的移动应用程序如何从浏览器接收令牌?

是否有联合用户的登录 API 或只是一个托管的 UI?

据我所知,当您将用户池联合到社交 IdP 时,您必须使用托管 UI。

如何在该登录 URL 上启动浏览器?

这显然取决于语言和平台,在使用 Xamarin 的 Android 上,您可以使用 Xamarin.Auth.Presenters.OAuthLoginPresenter.Login() 在指定的 URL 处启动本机浏览器 Chrome通过您传入的 OAuth2Authenticator。OAuth2Authenticator 不仅制作 URL 它提供 Chrome,它是有状态的,因此当您以代码或令牌的形式得到答案时,您可以调用该对象上的方法继续。

如何在用户完成登录后回调我的应用程序?

具体来说,浏览器如何重定向 URL 实际上将您重定向回应用程序内部。这是通过称为深度链接和应用程序链接的东西完成的,这是在 Android 上解释的概念。