var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan');
var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users');
點一下使用者資訊下拉「gallery profile」 Posts => All 進入到 Album 之後看網址,我們只需要下方圖片紅框圈起來部分就好,那部分就是我們要找的 Album ID
註冊 Imgur 應用程式
Register an Application Application name =>任意名字 Authorization type =>選 OAuth 2 authorization without a callback URL Authorization callback URL =>https://imgur.com Email=>聯絡的到你的信箱
獲得
Client ID:
Client secret:
如果不小心丟失 Client secret: 點一下「generate new secret」重新生成
var express = require('express') var cors = require('cors') var app = express() app.use(cors()) app.get('/products/:id', (req, res, next)=> { res.json({msg: '這對所有來源都支持 CORS!'}) }) app.listen(80, function () { console.log('CORS-enabled web server listening on port 80') })
### 為單個路由啟用 CORS
載入express
載入cors
在單一路由加入cors()
1 2 3 4 5 6 7 8 9 10 11
var express = require('express') var cors = require('cors') var app = express() app.get('/products/:id', cors(), (req, res, next)=> { res.json({msg: '為單個路由啟用 CORS 的'}) }) app.listen(80, function () { console.log('這是為偵聽端口 80 的單個啟用了 RouteCORS 的 Web 服務器啟用了 CORS') })
Configuring CORS=>配置 CORS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
var express = require('express') var cors = require('cors') var app = express() var corsOptions = { origin: 'http://example.com', // 選項成功狀態:一些舊版瀏覽器(IE11、各種 SmartTV)在 204 上卡住 optionsSuccessStatus: 200 } app.get('/products/:id', cors(corsOptions), function (req, res, next) { res.json({msg: 'This is CORS-enabled for only example.com.'}) }) app.listen(80, function () { console.log('CORS-enabled web server listening on port 80') })
默認配置相當於:
origin:配置 Access-Control-Allow-Origin CORS 標頭。
methods:配置 Access-Control-Allow-Methods CORS 標頭。要一個逗號分隔的字符串(例如:'GET,PUT,POST')或一個數組(例如:['GET', 'PUT', 'POST'])。
allowedHeaders配置 Access-Control-Allow-Headers CORS 標頭。 需要一個逗號分隔的字符串(例如:'Content-Type,Authorization')或一個數組(例如:['Content-Type', 'Authorization'])。 如果未指定,則默認反映請求的 Access-Control-Request-Headers 標頭中指定的標頭。
exposedHeaders配置 Access-Control-Expose-Headers CORS 標頭。 需要一個逗號分隔的字符串(例如:'Content-Range,X-Content-Range')或一個數組(例如:['Content-Range', 'X-Content-Range'])。 如果未指定,則不會公開任何自定義標頭。
credentials配置 Access-Control-Allow-Credentials CORS 標頭。 設置為 true 以傳遞標頭,否則將被省略。
maxAge:配置 Access-Control-Max-Age CORS 標頭。 設置為整數以傳遞標頭,否則將被省略。
preflightContinue:將 CORS 預檢響應傳遞給下一個處理程序。