最近专案需要对Facebook第三方登入相关的程式码Debug,
但是最近Facebook加强了第三方登入的安全性,
要求登入后的网站必须加上SSL,
所幸得到10大神的开示找到了一个轻鬆自签凭证的套件 -- mkcert
以下操作皆是 mac 环境
透过brew安装$brew install mkcert$brew install nss # if you use Firefox
生成 SSL 凭证$mkcert -install$mkcert example.com
有了凭证之后,我们就可以设定nginx #HTTPS server server{ server_name example.com; listen 80; listen 443 ssl; ssl_certificate example.com.pem; #档案的绝对位置 ssl_certificate_key example.com.pem; #档案的绝对位置 location / { proxy_pass http://localhost:port; proxy_set_header Host $host; } }
最后别忘了在 /etc/hosts 增加:
127.0.0.1 example
这样就可以让Facebook成功转址回 http://example.com
以下纯属抱怨:Facebook明明可以设定专案是否开发完成,为何不容许让开发中的非开放专案,转址回localhost就不用凭证,导致开发者还必须这样自欺欺人