在Kong网关中使用OAuth2认证
前言
在Kong网关快速入门指南 和 在Kong网关中使用JWT认证 一文中分别介绍了Key认证、HMAC认证和JWT认证,本文介绍在Kong网关中使用OAuth2认证。
说明:
在Kong上开启HTTPS
OAuth2认证要求必须以HTTPS方式访问Kong。
因此需要先在Kong上开启HTTPS。
Kong提供了ACME 的官方插件用来支持集成Lestencrypt的SSL证书。
在Plugins,添加全局插件 Security / ACME:
account email: `admin@xdevops.cn` # replace as your email
注意,不要再参考一些过时的文档手工生成Lestencrypt的SSL证书,并手工将证书放到服务器或容器中。
OAuth2认证
添加OAuth2插件
在Servicedemo
下添加Authentication / OAuth2插件。
scopes # 默认为空
mandatory scope: NO # 默认为NO,为了演示,不需要提供scope
provision key # 默认为空,由Kong自动生成,后续获取Authorization Code时需要提供
token expiration: 7200 # 默认为7200s,即2小时
enable authorization code: YES # 开启Authorization Code Flow
点击眼睛图标,查看OAuth2插件配置:
{
"name": "oauth2",
"protocols": [
"grpc",
"grpcs",
"http",
"https"
],
"consumer": null,
"route": null,
"id": "8896f8bd-97a3-4437-9925-876570b34d0a"