2015年3月25日 星期三

Laravel 5 內建之 Auth 機制,自訂註冊或登入後重導向之路徑

app/Http/Controllers/Auth/AuthController.php 中用到了一個 trait:

use AuthenticatesAndRegistersUsers;

vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.php

function postRegister、postLogin 分別處理註冊與登入,成功後會重導向,

由 function redirectPath 回傳導向路徑,預設是 /home


/**
  * Get the post register / login redirect path.
  *
  * @return string
  */
 public function redirectPath()
 {
  if (property_exists($this, 'redirectPath'))
  {
   return $this->redirectPath;
  }

  return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
 }


return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}


若要變更,可在AuthController.php 中新增一個屬性 redirectTo 即可

use AuthenticatesAndRegistersUsers;

protected $redirectTo = '/path_to_somewhere';

2015年3月24日 星期二

換掉 Angularjs 的大括號(變數取用符號)


app.config(function($interpolateProvider){

$interpolateProvider.startSymbol('<%');

$interpolateProvider.endSymbol('%>');

});

結果:

{{  換成  <%

}}  換成  %>

2015年3月21日 星期六

Laravel5 + Angularjs +JWT

Cookie-Free Authentication with JSON Web Tokens: An Example in Laravel and AngularJS

偶然找到這一篇,剛好前一陣子想要試試看的主題,值得參考。

相關 composer package
jwt-auth
laravel-cors

關於 jwt
The Anatomy of a JSON Web Token
Base64

相關文章
Cookies vs Tokens. Getting auth right with Angular.JS
Json Web Tokens: Examples

筆記:

關於 jwt-auth 的設定有誤,for laravel 5 的請看:jwt-auth 的 wiki

publish laravel-cors 的 config:

php artisan vendor:publish --provider="Barryvdh\Cors\CorsServiceProvider"


only angularjs 的部份:
Simple AngularJS Authentication with JWT
Handling JWTs on Angular is finally easier!

相關 angularjs library:
auth0/angular-jwt

$http interceptors:
$http Interceptors

2015年3月18日 星期三

2015年3月14日 星期六

Angular Formly

看起來是個表單欄位產生器,可以用 javascript 控制表單欄位的產生,讓 view 的 html code 可以簡化。

官網

GitHub

egghead 的介紹影片

2015年3月5日 星期四

解決 PHP 5.6 OpenSSL 錯誤

xampp 5.6.3 版,其 PHP 為 5.6.3 版

在執行 composer selfupdate 時發生錯誤:


  [Composer\Downloader\TransportException]                                     
  The "https://getcomposer.org/version" file could not be downloaded: SSL ope  
  ration failed with code 1. OpenSSL Error messages:                           
  error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify   
  failed                                                                       
  Failed to enable crypto                                                      
  failed to open stream: operation failed

解法:
檢查預設 cert 檔(default_cert_file)


php -r "var_dump(openssl_get_cert_locations());"

array(8) {
  ["default_cert_file"]=>
  string(33) "/opt/lampp/share/openssl/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(30) "/opt/lampp/share/openssl/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(32) "/opt/lampp/share/openssl/private"
  ["default_default_cert_area"]=>
  string(24) "/opt/lampp/share/openssl"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}


下載 cert.pem

sudo curl http://curl.haxx.se/ca/cacert.pem -o /opt/lampp/share/openssl/cert.pem

參考資料:
Hill 的網路實驗室