我正在用cakephp 2.4.7進行開發,我很困惑,我不知道實現我需要的最佳方式是什麼。cakephp rest api和身份驗證
我的蛋糕項目與社交網絡類似,我已經編寫了Web部分的大部分。現在我想開始開發原生移動應用程序(iOS,Android等)的API。
在我的項目中,我使用標準form
authentication
作爲正常的瀏覽器方式。
我怎樣才能同時使用basic
和form
authentication
?表單身份驗證用於瀏覽器使用和本地移動應用程序的基本身份驗證。
我AppController的樣子:
public $components = array(
'...',
'Auth' => array(
'loginRedirect' => array(
'controller' => 'users',
'action' => 'index'
),
'logoutRedirect' => array(
'controller' => 'users',
'action' => 'login'
),
'authError' => 'You must be loggedin to view this page.',
'loginError' => 'Invalid user credentials.',
'authorize' => array('Controller'),
'authenticate' => array(
'Form' => array(
'userModel' => 'User',
)
),
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
)
)
);
我知道文檔的這一部分:
利用多個處理程序允許您以支持在登錄用戶的不同的方式當,驗證登錄用戶處理程序按照它們聲明的順序進行檢查
但是login
操作怎麼樣?
有沒有更好的解決方案?例如使用令牌進行身份驗證。
我搜索了很多關於API versioning
和prefix routing
。我發現的唯一的事情是,蛋糕2.x不支持前綴路由休息。
我的目標是具有以下結構:
/users/view/2
的web瀏覽器/api/1.0/users/view/2.json
的移動應用程序。
在UsersController:
public function view($id = null) {
// Webbrowser
}
public function api_1_0_view($id = null) {
// mobile app version 1.0
}
public function api_2_0_view($id = null) {
// mobile app version 2.0
}
你能不能給我一個想法,我怎麼能解決問題呢?