使用 Passport 和 Node.js 的 POP3 身份認證策略
通常學校或公司組織都會給予學生或在職員工一組 email 信箱,筆者以前在學校協助系上及實驗室寫內部系統的時候,經常會使用到 POP3 認證。使用 POP3 認證的好處是不需要讓使用者另外設定或記憶一組密碼,也易於與既有內部系統做整合。
Passport POP3 Strategy
Passport 是實作 Node.js 應用程式認證機制常使用 Middleware。為了方便使用 POP3 authentication,我寫了一個 passport-pop3 的 Node.js 模組方便與 Passport 整合。
Install
透過 NPM 下載安裝模組:
1 |
|
或使用 Yarn:
1 |
|
Usage
與其他 passport strategy 一樣,你需要將 passport-pop3
strategy 整合至 passport,並提供 host
與 port
連線至你要認證的 POP3 Server:
1 |
|
預設使用 SSL/TLS 安全連線,如果要關閉它請加入 enabletls
選項設為 false
。
如果你有使用過 passport-local 的經驗,應該會知道這個模組預設接收 req.body
的 username
與 passport
這兩個參數。我在 passport-pop3
的設定亦是,但也提供可修改設定的選項。如:
1 |
|
Example
以 Gmail 為例,以下是一個比較完整的 Express 應用程式範例:
1 |
|
如果使用上有任何問題及想法,歡迎 pull request 或者聯繫我。
使用 Passport 和 Node.js 的 POP3 身份認證策略
https://chunkai.blog/2017/10/16/using-pop3-authentication-strategy-for-passport-and-nodejs/