我有一个带有passport api的Laravel项目。我希望我的其他网站连接到这个相同的身份验证。在未来,即使是ios和android应用程序也可以进行身份验证。如何设置我的其他laravel项目使用此api oauth?我能用它保护我的网页吗?
在做任何事情之前,我想知道这是否可能,或者是否有更好的想法。
发布于 2019-07-06 04:29:51
简短的回答:是的,这是可能的!
长长的答案:
Passport提供了OAuth2,这与使用Facebook登录和使用GitHub登录所使用的身份验证协议是完全相同的。
因此,使用Passport的应用程序是用户提供商,而其他应用程序是消费者。在消费者的情况下,任何OAuth2客户机都可以做到这一点(只要您可以为您的Passport“服务器”应用程序创建一个自定义提供程序)。
Laravel也为你提供了支持:https://laravel.com/docs/5.8/socialite。您可以为您的Passport“服务器”应用程序创建自定义提供程序。
就像你会实现“使用GitHub登录”一样(如果你以前也这么做过),你可以通过编写自定义的OAuth2提供程序来实现“使用我的Passport应用程序登录”。
我不能展示太多代码,因为这将是非常具体的,但我真的希望我的故事能帮助你找到正确的包/文章,告诉你如何为你的用例做这件事!
https://stackoverflow.com/questions/56908689
复制相似问题