自定义认证器工作流程
1、设备向AWS IoT发送http请求,包含token和token签名
2、IoT判断这是一个自定义认证请求,然后确认token和token签名是否匹配
3、Lambda函数验证token之后,将输出5项数据,
- isAuthenticated:求是否认证通过请
- principalId:标识token的id
- policyDocuments:策略文档清单
- disconnectAfterInSeconds:最大连接时间
- refreshAfterInSeconds:策略缓存时间
4、如果请求操作允许的话,将会获取策略文档,否则将返回给设备请求被拒绝的异常
自定义认证器的组成部分
1、AuthorizerName:认证器名称
2、AuthorizerFunctionArn:lambda函数对应的ARN(Amazon Resource Name),lambda函数实现了认证逻辑,并返回策略文档
3、TokenKeyName:设备发送http请求指定的token名称
4、TokenSigningPublicKeys:token签名对应的公钥,至少2048个bit位,为了使用自定义认证,设备端必须产生一对秘钥,私钥加密token生成签名token,AWS IoT需要对应的公钥来验证数字签名
5、Status:认证器是激活还是未激活状态
实现方案demo:Self-paced digital training on AWS - AWS Skill Builder