2

我正在尝试使用来自 User Pool 的 Federation。请注意,我不是在谈论联邦身份池的不同概念。

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

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

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

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

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

4

1 回答 1

1

是否有针对联合用户的登录 API,或者只是托管 UI?

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

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

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

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

具体来说,重定向 URL 的浏览器如何真正将您重定向回应用程序内部。这是通过称为 Deep Links & App Links 的东西完成的,这是在Android上解释的概念。

于 2018-04-13T19:19:06.367 回答