<b>本文讲的是使用 Lua 完成 OAuth2 的身份验证,</b>
<b></b>
我不会详细地去介绍一个PHP框架需要花多长时间才能给出一个基本响应,但如果我们将它和其他语言/框架进行比较,也许你就可以理解相关的差异。
以下是它所呈现的大致情景:
解除与Monolitic API之间的耦合关系。
改进认证次数和生成的访问/刷新令牌。
改进拒绝非法访问令牌和身份验证证书的次数。
改进身份验证访问令牌时的次数和重定向后再次向API发送请求的次数。
<a href="https://camo.githubusercontent.com/58b8a83c88626a4ba69924b65a88b9efb1a0fc25/68747470733a2f2f6d6f6c74696e2e636f6d2f66696c65732f6c617267652f363762303834633630623664306666" target="_blank"></a>
OpenResty (Nginx)
Lua scripts
Caching Layer (Redis)
这是一些配置的规则
<a href="https://camo.githubusercontent.com/c2351315e39e99f5b886d3777f746daa9fb40f7e/68747470733a2f2f6d6f6c74696e2e636f6d2f66696c65732f6c617267652f386233353961376232626164353561" target="_blank"></a>
我们设置了一些路由来处理不同用户的请求,你可以看到如下情况:
nginx.conf
So for each of those endpoints we have to:
check the authentication access token
get the authentication access token
... location ~/oauth/access_token { content_by_lua_file "/opt/openresty/nginx/conf/oauth/get_oauth_access.lua"; ... }
location /v1 { access_by_lua_file "/opt/openresty/nginx/conf/oauth/check_oauth_access.lua"; ... } ...
这是个不可思议的环节。我们需要编写两个lua脚本来做到这一点:
get_oauth_access.lua
check_oauth_access.lua
以下是我们在创建验证层时所用到的一些与Lua相关的有趣资源。
<b>原文发布时间为:2016年01月07日</b>
<b>本文来自云栖社区合作伙伴掘金,了解相关信息可以关注掘金网站。</b>