云服务器内容精选
-
设置错误响应 调用API如果输入错误的认证信息,则返回结果如下: 1 {"error_msg":"Incorrect authentication information: frontend authorizer","error_code":"APIG.0305","request_id":"36e42b3019077c2b720b6fc847733ce9"} 为了让API响应结果为函数中返回的context中的字段(如果您使用的是专享版网关,并且实例支持authorizer_context_support_num_bool特性,那么context中的value的类型可以为boolean类型或number类型),需要修改网关响应模板。在API所在分组中,“分组信息”页签下的“网关响应”区域,编辑自定义认证失败的响应详情,将响应状态码改为401,将消息模板改为(引用变量为boolean类型或number类型时,变量不需要加双引号): 1 {"code":"$context.authorizer.frontend.code","message":"$context.authorizer.frontend.message", "authorizer_success": "$context.authorizer.frontend.authorizer_success"} 修改之后,调用API传入错误的认证信息,返回状态码为401,返回结果如下: 1 {"code":"1001","message":"incorrect username or password","authorizer_success": "false"}
-
编写自定义认证函数 在 函数工作流 的控制台编写函数,自定义认证的代码编写指南参见创建用于前端自定义认证的函数。 根据下表参数说明,在函数工作流页面创建一个函数。 表1 函数信息配置 参数 配置说明 选择创建方式 默认“创建空白函数”。 函数类型 默认“事件函数”。 区域 与API网关相同区域。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。此处默认为已选择的区域。 函数名称 根据规划自定义名称。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。此处默认“default”。 委托名称 用户委托函数工作流去访问其他的云服务。此处选择“未使用任何委托”。 运行时 选择Python 3.6。 函数创建完成后,进入函数详情。在“代码”页签,将以下代码复制到index.py中(如果您使用的是专享版网关,并且实例支持authorizer_context_support_num_bool特性,那么context中的value的类型可以为boolean类型或number类型)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # -*- coding:utf-8 -*- import json def 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" } }) }
-
操作流程 编写自定义认证函数 创建一个函数作为用户自己的认证服务。 创建自定义认证 在APIG中创建一个自定义认证,将函数服务接入APIG。 创建自定义认证的API 创建一个自定义认证方式的API。 设置错误响应 为了让API响应结果为函数中返回的context中的字段,需要修改网关响应。 映射后端参数 添加系统参数,将函数返回的context信息传到后端。 验证 调用API,观察是否成功返回函数的context信息。
-
API认证凭据问题汇总 Q:最多支持创建多少个应用(凭据)? 每个用户最多创建50个应用(凭据)。包括您自行创建的凭据和在云商店购买API生成的APP。 Q:APP认证的API,怎样实现不同的第三方之间无法知道对方调用情况? 创建多个应用(凭据),并绑定同一个API,分发给不同的第三方不一样的应用(凭据)。 Q:APP认证的API,有没有限制可以给多少个第三方使用? 没有限制。 Q:APP认证的API,是否需要自己创建应用(凭据)? 是,需要自行创建应用(凭据),并绑定API。创建完成应用(凭据)后,系统自动生成AppKey和AppSecret,将AppKey和AppSecret给第三方,就可以直接调用此API了。 Q:APP认证的API,第三方怎么调用? 您需要把AppKey和AppSecret提供给第三方,然后第三方通过SDK调用。具体SDK的调用步骤请参见使用APP认证调用API。 父主题: API认证
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格