2016-12-27 125 views
0

我是Laravel新手。创建一个通过外部API进行身份验证的自定义身份验证提供程序?

我已经有一个API来验证用户并为它创建一个JWT标记。现在在我的新应用中,我想将认证授权外包给此API。

这个新的应用程序就像是API的前端,API处理应用程序的逻辑。 我并不完全熟悉这种类型的体系结构,但我认为这是一种三层体系结构,已经进行了物理分割。 我面临的主要问题是处理用户身份验证以及如何将API的无状态逻辑转换为Web应用程序。

我应该创建一个自定义auth提供程序吗? 如何?你能否提供一个例子!

+0

这实际上大部分都是在文档中,你有没有看过https://laravel.com/docs/5.3/authentication#adding-custom-user-providers? – user3158900

+0

我不明白的文档,顺便说一句,它不是关于API! – Alireza

回答

0

感谢大家,

但最终的溶液创建中间件是处理身份验证。例如,中间件通过表单验证用户并将JWT令牌保存在会话中。

这个简单的步骤解决了我所有的问题。

0

我认为你正在寻找的是创建一个自定义警卫。 See docs here

+0

你能解释它是如何工作的吗?对不起,但我是laravel的新手 – Alireza

+0

警卫处理Laravel中的所有身份验证逻辑,并在您的'config/auth.php'中定义。在创建自定义警卫驱动程序时,您需要在该配置文件中注册该驱动程序,并确保该类实现此界面https://github.com/laravel/framework/blob/5.3/src/Illuminate/Contracts/Auth/Guard.php。要用你的自定义后卫驱动程序在Laravel中进行身份验证,请将自定义后卫设置为该配置中的默认后卫,或者直接在'Auth :: facade('custom') - > check($ credentials)''Auth'外观中引用它' –

相关问题