如何实现一个没有弹出窗口的React Apple登录



我一直在react web应用程序中工作,我有一个SIWA按钮。由于一些兼容性问题,我不能使用弹出式登录,所以我实现了将用户重定向到一个单独的苹果登录页面,在成功登录后,苹果会将用户重定向回我的web应用程序。我将响应类型设置为fragments,这样当重定向时,apple会将id_token添加到url本身,然后我可以在自己的web应用程序中使用。

到目前为止,这种方法工作得很好,因为我没有将电子邮件或名称添加到SIWA的作用域中。但是现在我必须把它们都加起来,这样我就可以在以后使用id_token检索它们。但似乎apple不允许在不将responseType设置为form_post的情况下添加范围。如果我没有错,我应该在我的后端创建一个POST端点,它将接受给定的form_post数据。但是,如果我这样做了,我将如何能够将用户重定向回我的前端,因为SIWA的重定向url必须设置为后端端点?

基本上,我的要求是,我应该能够重定向用户回到前端成功登录后,前端也应该得到id_token。这是否涉及到我的后端并不重要。而且这一点也很重要,我没有使用弹出式登录。

谢谢你的帮助。

让POST端点返回302状态和前端URL的Location头。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302

最新更新