API网关 APIG-使用FunctionGraph服务实现APIG的自定义认证:编写自定义认证函数
编写自定义认证函数
在 函数工作流 的控制台编写函数,自定义认证的代码编写指南参见创建用于前端自定义认证的函数。
根据下表参数说明,在函数工作流页面创建一个函数。
参数 |
配置说明 |
---|---|
选择创建方式 |
默认“创建空白函数”。 |
函数类型 |
默认“事件函数”。 |
区域 |
与API网关相同区域。 |
项目 |
华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。此处默认为已选择的区域。 |
函数名称 |
根据规划自定义名称。 |
企业项目 |
企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。此处默认“default”。 |
委托名称 |
用户委托函数工作流去访问其他的云服务。此处选择“未使用任何委托”。 |
运行时 |
选择Python 3.6。 |
函数创建完成后,进入函数详情。在“代码”页签,将以下代码复制到index.py中(如果您使用的是专享版网关,并且实例支持authorizer_context_support_num_bool特性,那么context中的value的类型可以为boolean类型或number类型)。
1 2 3 4 5 6 7 8 91011121314151617181920212223242526 |
# -*- coding:utf-8 -*-import jsondef handler(event, context):#以下表示认证信息匹配正确,则返回用户名, if event["headers"]["authorization"]=='Basic dXN****cmQ=': return { 'statusCode': 200, 'body': json.dumps({ "status":"allow", "context":{ "user_name":"user1" } }) } else: return { 'statusCode': 200, 'body': json.dumps({ "status":"deny", "context":{ "code": "1001", "message":"incorrect username or password", "authorizer_success": "false" } }) } |
- API网关双重认证_双重认证方式_API网关APIG-华为云
- API网关有哪些使用场景_API网关作用_API网关APIG-华为云
- ModelArts自定义镜像_自定义镜像简介_如何使用自定义镜像
- API网关权限管理_授权使用API网关_APIG权限策略和授权项
- 华为GaussDB自定义函数_GaussDB教程_华为高斯数据库自定义函数
- 什么是函数工作流_functiongraph是什么_函数工作流服务
- GaussDB数据库自定义函数_GaussDB 华为_高斯数据库自定义函数
- 使用API网关开放本地数据中心服务能力_开放API_API网关APIG-华为云
- 什么是API网关_API网关有什么作用_API网关APIG-华为云
- API网关基本概念_云原生API网关_API网关APIG-华为云