我目前正在学习如何在Laravel中创建API,我发现自己陷入了这个令人困惑的概念中。经过几天的研究和实践,我终于理解了足够多的这些概念,可以制作一个迷你指南。我不得不查看很多单独的网页,所以我会尽我最大的努力来解释它们之间的关系。
l3zydbqr1#
换句话说就是:
对于一个初学者来说,创建自己的Oauth2实现与Laravel兼容是疯狂的,而且如果您正在阅读本文,可能是因为您不知道如何实现所有的Oauth2复杂性。**Oauth2 out。**我们所拥有的重新定义是三个包选项:Passport、tymondesigns/jwt-auth和Auth0。
与Passport和JWT相比,Auth 0是一把瑞士军刀。这把刀是一个一体化的解决方案。它可以自己做很多事情,加上一些额外的东西,如果不依赖于Laravel或其他框架,你可能永远不需要。为了不扩展太长时间,让我说,它可以做任何你作为API初学者可能想象到的事情。此外,你会有一个非常好的 Jmeter 板,它可以让你管理API的各个方面。从第三方身份验证到添加更多的应用程序(移动的、Web、桌面),这些应用程序都可以使用API。护照就像是一把更精致的刀,它的设计者知道它能切割什么,并专门为这些任务设计。换句话说,它是专门为拉拉拉威尔设计的,可以流畅而完美地工作,没有太多的花里胡哨。别忘了,从长远来看,你可以在它上面实现你自己的代码。就像一个漂亮的自定义 Jmeter 板来管理你的API客户端。最后,回到刀的比喻,我喜欢将JWT与没有任何花哨附加功能的锋利刀片进行比较。它重量轻,功能强大,安全可靠,并能完成它的工作。您将获得不必担心其他软件包添加的所有附加功能的好处。此外,由于它的灵活性,您可以根据需要升级这把刀,甚至可以切换到另一个软件包,如果您需要更重的升级。
这取决于您,如果您想削减可能会向您抛出的一切,并更多地停留在API世界而不是Laravel (Auth 0),请缩小范围,专注于Laravel和Oauth2的第三方身份验证 (Passport),或通过API(JWT)进行开箱即用的基本安全数据传输。是的...您还可以使用这三种工具将您的应用链接到您的移动的应用。就我个人而言,我过去更喜欢Passport,因为:
仍然在谈论最后一点,有些人可能会说Auth 0社区很小。它基本上是,但它也有令人敬畏的客户端支持人员。编辑:(现在我更喜欢Tymon JWT)
Laravel和Oauth2 Docs对令牌的解释可能有点困难。这里有一个Good Explanation ofPassport's(therefore Oauth2) Different Types of Tokens and Their Use Cases。因为我不能弄清楚教程中的“路径”部分,所以我不推荐教程部分。这是一个Good Passport Video Tutorial,它也使用PostMan Chrome应用程序进行API调用。对于那些不熟悉API的人来说,像PostMan这样的应用程序会让你的工作比使用“curl”Linux/Mac命令容易得多。你可以观看完整的系列,也可以只观看Passport部分。目前我还停留在视频4上。下面是我的Stack Overflow问题。
资源
很多资源都在上面的文章中,但我也有一些在这里。
1条答案
按热度按时间l3zydbqr1#
这些概念是什么?
换句话说就是:
您应该使用什么?
对于一个初学者来说,创建自己的Oauth2实现与Laravel兼容是疯狂的,而且如果您正在阅读本文,可能是因为您不知道如何实现所有的Oauth2复杂性。**Oauth2 out。**我们所拥有的重新定义是三个包选项:Passport、tymondesigns/jwt-auth和Auth0。
与Passport和JWT相比,Auth 0是一把瑞士军刀。这把刀是一个一体化的解决方案。它可以自己做很多事情,加上一些额外的东西,如果不依赖于Laravel或其他框架,你可能永远不需要。为了不扩展太长时间,让我说,它可以做任何你作为API初学者可能想象到的事情。此外,你会有一个非常好的 Jmeter 板,它可以让你管理API的各个方面。从第三方身份验证到添加更多的应用程序(移动的、Web、桌面),这些应用程序都可以使用API。
护照就像是一把更精致的刀,它的设计者知道它能切割什么,并专门为这些任务设计。换句话说,它是专门为拉拉拉威尔设计的,可以流畅而完美地工作,没有太多的花里胡哨。别忘了,从长远来看,你可以在它上面实现你自己的代码。就像一个漂亮的自定义 Jmeter 板来管理你的API客户端。
最后,回到刀的比喻,我喜欢将JWT与没有任何花哨附加功能的锋利刀片进行比较。它重量轻,功能强大,安全可靠,并能完成它的工作。您将获得不必担心其他软件包添加的所有附加功能的好处。此外,由于它的灵活性,您可以根据需要升级这把刀,甚至可以切换到另一个软件包,如果您需要更重的升级。
结论
这取决于您,如果您想削减可能会向您抛出的一切,并更多地停留在API世界而不是Laravel (Auth 0),请缩小范围,专注于Laravel和Oauth2的第三方身份验证 (Passport),或通过API(JWT)进行开箱即用的基本安全数据传输。是的...您还可以使用这三种工具将您的应用链接到您的移动的应用。
就我个人而言,我过去更喜欢Passport,因为:
仍然在谈论最后一点,有些人可能会说Auth 0社区很小。它基本上是,但它也有令人敬畏的客户端支持人员。
编辑:(现在我更喜欢Tymon JWT)
Passport和Oauth2的教育课程
Laravel和Oauth2 Docs对令牌的解释可能有点困难。这里有一个Good Explanation ofPassport's(therefore Oauth2) Different Types of Tokens and Their Use Cases。因为我不能弄清楚教程中的“路径”部分,所以我不推荐教程部分。
这是一个Good Passport Video Tutorial,它也使用PostMan Chrome应用程序进行API调用。对于那些不熟悉API的人来说,像PostMan这样的应用程序会让你的工作比使用“curl”Linux/Mac命令容易得多。你可以观看完整的系列,也可以只观看Passport部分。目前我还停留在视频4上。下面是我的Stack Overflow问题。
资源
很多资源都在上面的文章中,但我也有一些在这里。