为华为云函数增加App认证

引言

昨天的博文(华为云云函数FunctionGraph实现随机产生一句土味情话-优快云博客)介绍了使用APIG可以使用户访问华为的云函数。不过当时采用的是无认证方式,不过这种方式有安全风险,特别是FunctionGraph是按照调用次数收费的,如果让未授权用户随意调用,也会增加成本。今天介绍一下如何增加App认证。由于华为云的部分文档和实际操作有出入,所以在此记录一下。

设置App认证

进入FunctionGraph控制台,修改APIG的认证方式为App认证:

此时,如果再在浏览器中直接访问这个API的URL,就会得到如下错误信息:

{"error_msg":"Incorrect app authentication information: Authorization header is missing","error_code":"APIG.0303","request_id":"e7a16aaaf29e2b2204c4a3f3d2735105"}

如果选择支持简易认证,则认证时只需要AppCode,否则使用AppKey加AppSecret(有关原理参见:APP认证工作原理_API网关 APIG_华为云,华为给出了Java、C语言等各种语言的例子)。

创建App

在API网关的“调用API”部分可以找到“应用管理”,在其中创建应用,并绑定API。 点击应用的链接,可以进入详情页面:

其中可以找到AppKey(这个是可以公开的,在HTTP请求中传输)和AppSecet,这个是不能公开的,根据其计算签名。

如果是简易认证,则在AppCode部分添加自定义的AppCode。 

 

这个AppCode是要在HTTP的报头中传输的,所以只有HTTPS协议下才允许这种方式。 

调用验证

采用简易认证方式,发送请求时,增加请求头部参数“X-Apig-AppCode”,省略请求签名相关信息。

以Curl方式为例,增加头部参数名称:X-Apig-AppCode,参数值填生成的AppCode已生成的AppCode

例如:

curl -X GET "https://xxxx.apig.cn-north-4.huaweicloudapis.com/love-words" -H "content-type: application/json"  -H "X-Apig-AppCode: xxxxxxx"

 

结语

添加了App认证之后,可以避免未授权用户调用自己开发的云函数,提升了安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值