流明多种身份验证类型

时间:2015-11-04 15:31:49

标签: laravel authentication oauth lumen

我正在寻找一种基于先前在数据库中设置的身份验证类型来验证客户端的方法。所以,客户端应该点击类似这样的URL:api.com/client/service/method,所以基于url中的这个客户端字段,我需要检索数据库中该客户端的身份验证类型集,并尝试验证客户端使用该类型(例如HTTP Basic或OAuth)。

我是Lumen的新手,所以我想知道你们是否有关于如何设计这个的建议。这些要求是一成不变的,所以我需要按照描述的方式实现这一点。我关心的是我应该如何组织这些身份验证模型,以及如何找出用户尝试发送请求的身份验证用户类型?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在运行时根据驱动程序修改身份验证驱动程序吗?

public function auth(array $credentials = [], $method)
{
    switch ($method) {
        case: 'oauth':
           $driver = 'oauth';              

           break;
        default:
           $driver = 'eloquent';

           break;
    }

    // Set the authentication driver.
    Config::set('auth.driver', $driver);

    // Attempt authentication.
    if (Auth::attempt($credentials)) {
         // Ex.
    }
}