spada/kong-handler

Kong 处理器

v2.6 2021-10-15 13:20 UTC

This package is auto-updated.

Last update: 2024-09-15 12:47:13 UTC


README

用于处理Kong头信息和覆盖底层认证机制的包

安装

使用Composer安装

composer require spada/kong-handler

使用方法

注册KongServiceProvider。确保您没有注册任何AuthServiceProvider。

use Spada\KongHandler\KongHandlerServiceProvider;

return [
    'providers' => [
    	// 
    	// other service providers
    	//
        KongHandlerServiceProvider::class
    ]
];

现在,我们可以像平常一样使用认证。

// get kwuid
$kwuid = Auth::user()->getKey();

// get user access token
$token = Auth::user()->getToken();

// check if authenticated
$authenticated = Auth::check();

// get user info
// get name
$email = Auth::user()->getInfo()->getName();

// get email
$email = Auth::user()->getInfo()->getEmail();

添加了处理服务账户的方法

// check if its service account
Auth::user()->isService();

// get service account consumer
Auth::user()->getConsumer();

// get service account audience
Auth::user()->getAudience();

测试

对于本地测试,您需要提供以下一些头信息

头信息OneLogin 消费者服务账户消费者
认证:heavy_check_mark:heavy_check_mark示例: Bearer abcd
x-userinfo:heavy_check_mark:heavy_multiplication_x示例: {\"given_name\":\"kelle1\",\"updated_at\":\"2018-01-23T07:19:36.950Z\",\"family_name\":\"kelle1\",\"preferred_username\":\"kelle1\",\"custom_fields\":{\"KW_UID\":\"556396\",\"KW_OID\":\"101\"},\"email\":\"kelle1@kw.com\",\"name\":\"kelle1 kelle1\",\"sub\":\"37087183\"}
内容类型:heavy_check_mark:heavy_check_markapplication/json
x-consumer-username:heavy_check_mark:heavy_check_mark示例: onelogin

OneLogin的示例头信息

accept: application/vnd.api+json
authorization: Bearer ODIyZmQ4MjctZThmYy00Nzc1LWJiNDAtNGIxYTA5YTZmNGU25pyUpO04RVRCsV9R-cmOwOZuKefUlRLBPYYkwOzQayVSfBf57tankKkY8DMXAwKdlYHYTKZX190j9I35kGr_kg
cache-control: no-cache
content-type: application/vnd.api+json
x-consumer-username: onelogin
x-userinfo: {\"given_name\":\"kelle1\",\"updated_at\":\"2018-01-23T07:19:36.950Z\",\"family_name\":\"kelle1\",\"preferred_username\":\"kelle1\",\"custom_fields\":{\"KW_UID\":\"556396\",\"KW_OID\":\"101\"},\"email\":\"kelle1@kw.com\",\"name\":\"kelle1 kelle1\",\"sub\":\"37087183\"}

服务账户的示例头信息

x-consumer-aid:testing
x-consumer-token-audience:https://dev-kong.command-api.kw.com
x-consumer-token-user-id:37849
x-consumer-token-user-email:name=Gail Anderson;email=gandersoniw@yahoo.com
x-consumer-username:testing
x-consumer-id:9bdf5a6e-775b-434d-9922-9987524e712d
authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhaWQiOiJ0ZXN0aW5nIiwiYXVkIjoiaHR0cHM6Ly9kZXYta29uZy5jb21tYW5kLWFwaS5rdy5jb20iLCJleHAiOjE2MDMxMjEzMjYsImlhdCI6MTUyODQyOTQ1NSwiaXNzIjoiZ0NWbVZJbFVBc0dpSzJxd2tZMXpveFRRRVBHdU9ERDAiLCJuYmYiOjE1Mjg0Mjk0NTUsInN1YiI6Im5hbWU9R2FpbCBBbmRlcnNvbjtlbWFpbD1nYW5kZXJzb25pd0B5YWhvby5jb20iLCJ1aWQiOiIzNzg0OSJ9.ci1-EFSraTWV06-6v_NN7QBcK5Bs6DgqruMMTpQRJ_U
content-type:application/vnd.api+json

其他

有关Kong消费者如何工作的更多信息,请阅读https://github.com/KWRI/aOS/wiki/Misc-:-Kong-Consumer-and-OIDC-Plugin