2016年3月25日 星期五

Node JS + Express JS + Passport JS 做一個登入系統 & 多個帳號綁定的範例

教學出處

安裝所需要的模組


  1. Express
  2. mongoose
  3. passport
  4. passport-facebook
  5. connect-flash
  6. bycrypt-nodejs
  7. morgan
  8. body-parser
  9. cookie-parser
  10. express-session
以上都用npm安裝, 沒接觸過的請自行GOOGLE

建立檔案的結構

- app
------ routes.js     //處理路由
-models               //所有DB的操作都放在這裡
------ user.js
- config               //設定檔都放這
------ auth.js      //處理串接社群API的設定(ClientId, Secret, callbackUrl...etc)
------ database.js //設定DB連線的參數
------ passport.js //設定passport的認證策略
- views
------ index.ejs    //起始畫面, 選擇登入的方式
------ login.ejs     //登入畫面
------ signup.ejs   //註冊畫面
------ profile.ejs   //登入後顯示個人檔案
- server.js             //沒什麼好解釋的, 就是SERVER

Server.js


DB設定 config/database.js



路由 app/routes.js

我們用以下的路由來試範
  • 首頁 : /
  • 登入頁 : /login
  • 註冊頁 : /signup
  • 處理登入 (POST)
  • 處理註冊 (POST)
  • 個人檔案: /profile

User model 



Passport.js







2016年3月3日 星期四

PHP Ratchet 的第一個範例 Hello World

上一篇我們已經把 php Ratchet 安裝好了. 現在要來試試教學上的第一個範例 Hello World.

  1. 在安裝目錄(以我的例子是D:\xampp\htdocs\ws)底下建立一個 src資料夾, 在src裡再建立一個MyApp資料夾(名字沒限制, 這裡以MyApp示範), 然後在MyApp裡建立一個管理訊息的應用程式的檔案Chat.php, 這個程式會聆聽4個事件:
    • onOpen - 有新連線的時候會呼叫這個function
    • onMessage - 有新訊息的事件
    • onClose - 連線關閉的事件
    • onError - 連線有錯誤的事件

  2. 再來, 我們要建立一個處理訊息往來的server, 在安裝目錄底下建立一個bin資料夾然後再建立一個chat-server.php的檔案
  3. 建好chat-server.php之後, 我們在該目錄下用cmd執行
    php chat-server.php
    來啟用"server".
  4. 啟用後, 我們來看看是否有成功執行:
    • 我們在根目錄(xampp是htdocs)建立一個test.html然後把底下的code貼上去
    • 然後打開2個瀏覽器各自輸入
      localhost/test.html
      127.0.0.1/test.html
    • 如果沒問題, 輸入訊息後就會看到下面的畫面
PS. 如果遇到 "Myapp/Chat not found" 的錯誤訊息, 請先確認composer.json裡的內容是否為
{

 "autoload": {

        "psr-0": {

            "MyApp": "src"

        }

    },

    "require": {

        "cboden/ratchet": "^0.3.5"

    }

}
如果不是, 請依照上面修改, 然後cmd 輸入 composer dumpautoload
重新產生composer.json檔

下一篇要來講講怎麼用Ratchet 做一個push server

在 XAMPP 上安裝 php Ratchet (Windows OS)

這幾天研究了一下用php Ratchet來建立一個websocket server,
發現他的官網給的教學不是很詳細, 在此寫一篇我在安裝流程.

  1. 首先, 要安裝COMPOSER. 對沒用過的人會比較陌生, 不過其實不難, 因為它有WINDOWS版的安裝程式, 下載後點兩下執行就可以了.
  2. 安裝完後可以開始安裝Ratchet, 用COMPOSER安裝需要幾個步驟:
    • 在windows底下, 執行CMD.EXE進入command line模式, 把目錄換到你要安裝的位置(以我的例子是D:\xampp\htdocs\ws)然後輸入
      php composer.phar require cboden/ratchet 注1, 注2
    • 執行完後, 就要開始正式安裝了, 一樣在cmd裡輸入
      php composer.phar install 
    • 等程式跑完就安裝好了Ratchet, 下一篇我會寫實際使用Ratchet做一個hello world 的範例
注1: 教學上是以LINUX為操作環境, 所以會有 ~/ 的符號.
注2: 請確定你有設定環境變數讓 Windows cmd 命令列可以執行 php 指令,這裡有教學