2015-09-30 36 views
0

根据cakephp official document的版本3,它声明配置AuthComponent。所以我做的是我在public function initialize方法中的代码下面添加了AppController。Cakephp 3需要基本身份验证澄清

$this->Auth->config('authenticate', [ 
    'Basic' => [ 
     'fields' => ['username' => 'username', 'password' => 'api_key'], 
     'userModel' => 'Users' 
    ] 
]); 

然后在UsersTable我添加下面的代码,为用户生成新的API密钥:

​​

什么我想了解的是API密钥如何以及在何处得到店?当我创建新用户时,我不知道我在哪里可以找到api_key

我是否需要在Users表中创建一个名为api_key的列来为用户存储密钥?官方文件没有说明如何访问密钥并在基本认证中使用它。

回答

0

我是否需要在Users表中创建一个名为api_key的列,以便为用户存储密钥?

当然。什么让你觉得它会被神奇地存储在任何地方?

官方文档并没有说明如何访问密钥并在基本身份验证中使用它。

It does.阅读前三段。要么你没有阅读它,要么你不知道Basic auth是如何工作的。 Look this up here

$this->Auth->config('authenticate', [ 
    'Basic' => [ 
     'fields' => ['username' => 'username', 'password' => 'api_key'], 
     'userModel' => 'Users' 
    ] 
]); 
+1

谢谢你的客气话:如果您的客户端使用基本身份验证,并发送正确的信息,该适配器将自动照顾它,看看用户了,这正好由你将代码粘贴完成@burzum。我的问题与天气无关,我了解基本认证与否。我想了解api_keys的存储位置。非常感谢你澄清这一点。但是,我不同意你的陈述“阅读前三段”。我没有看到任何参考,指出需要在Users表中创建一个新列。 – Ray

+1

不解决问题。这个答案基本上说“你没有阅读文档,你不明白它是如何工作的。”这两点都是问题被问到的可能原因。文档模糊地引用了“身份验证对象”和getUser方法,但未能说明这些元素连接的位置和方式。 –