前段时间自己给公司项目搞得,整理了一下放出来 希望能帮到需要的人 :)
特点就是 直接在 nginx 上套 不需要自己开发服务 比较方便, 原理是 HTTP Basic Authorization 用户名就是自己配置的用户名 密码就填写 google authenticatio 生成的一次性 code 就好 支持多用户, ip 白名单。
https://github.com/beyondblog/ngx_lua_google_auth
主要参考的是这篇文章
1
kchum 2016-01-13 21:46:40 +08:00 via iPhone
Cool.最近正好要研究的东东
|
2
ivyliner 2016-01-13 21:55:08 +08:00
能简单介绍一下应用场景 ?
|
3
ryd994 2016-01-14 03:35:01 +08:00 via Android
1.上传 secret 是不是不太安全
2.IP 白名单其实不需要,用 ngx_http_access_module 就可以了, satisfy any |
4
beyondsoft OP @ryd994 恩
1.上传 secret 既不方便也不太安全, 公司实现的是发起一个 http 去远程验证 那样的话部署起来不方便所以我特意拆成这样了 哈哈哈~ 2.如果用 ngx_http_access_module 的确能满足大部分需求 很好回头我就把白名单移出掉 谢谢! |
5
v1024 2016-01-14 08:15:44 +08:00 via iPhone
basic 认证不加密,而且一次性密码有效时间十几秒,如果被中间人截获,马上登录仍然是有效的。
另外,浏览器会保存 basic 认证的账号密码,一次性密码过期后,会不会重复弹出认证界面?非浏览器场景当我没说。 |
8
greenskinmonster 2016-01-15 16:44:32 +08:00
多谢,正好想找个二次认证的方案。
Basic 认证还是走 SSL 吧。 楼主的方法怎么说也比固定用户名密码要更加安全些。 |