百度云现在调用API有两种鉴权认证机制,
一是使用应用的API Key、Secret Key 请求获取Access Token再调用API,
二是使用安全认证中的Access Key ID 和 Secret Access Key鉴权调用API,相对方式一要麻烦许多~
6月1日收到一条百度云公告,大致是对百度云API的鉴权认证方式进行安全升级,目前比较疑惑的是,获取Access Token调用API的方式,是否也需要根据公告所说的改变升级原调用方式呢?
公告内容好像并没有说明~
还是说该升级只针对方式二使用安全认证中的Access Key ID 和 Secret Access Key鉴权调用API的鉴权认证机制.
公告内容:
尊敬的百度云用户您好:
基于安全考虑,百度云计划于2018年07月05日(周四)晚21:00至24:00,对位于我们华北-北京,华南-广州区的百度云API的鉴权认证方式进行安全升级,对认证签名中使用的字段进行更加严格的校验。如果您使用了百度云API服务,在此次安全升级前,强烈建议您参考下文核实您的服务是否使用了正确的认证签名,否则此次升级后您将无法正常调用百度云API。
在使用百度云API时,出于安全考虑要对用户身份进行鉴权认证,需要用户在请求中传递认证签名Authorization,格式为bce-auth-v1/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。请您检查请求中的Authorization是否严格遵守百度云API鉴权认证规范,特别是签名中与时间相关的字段(如timestamp、x-bce-date等),请确保将时间正确格式化为ISO 8601格式并使用UTC+0时间来表示,例如请求发起时间为北京时间2018年06月01日10:10:00,则正确的时间格式应该为2018-06-01T02:10:00Z(未百分号编码,计算签名时要先进行百分号编码)。
百度云API鉴权认证规范参考文档:https://cloud.baidu.com/doc/Reference/AuthenticationMechanism.html
其实也是为了key的安全而已
百度云鉴权
升级而已,不必惊慌
嗯嗯 大致明白了 感谢回答哈~
sdk帮忙做了缓存。当然你们自己做缓存也是可以的。
集群部署?我们只有一台服务器一个应用呀。
token是缓存的,,需要我们手动每30天更新一次~ 这样子应该没有影响吧~
是的。毕竟入口介绍都是token的形式。不过你如果是集群部署。使用同一个appid apikey secretkey生成token那会出现问题。
嗯嗯~ 我对这块分不太清楚,只记得百度云鉴权在之前就存在了,
这么说百度AI使用token调用API的方式就不受升级影响了吗?,感谢回复~
升级的是百度云鉴权。不是百度AI token哦。
当初代码是按照文档所写调用API使用第一种方式,用的是应用中的API Key Secret Key,之所以要发帖问问就是现在如果要改代码的话要重新联系外包开发,按照这么说应该是不用修改了~
对了,我发现几乎百度里所有的AI接口文档,写的都是以第一种方式去调用,如果要升级第一种方式,不应该只是发这样的公告,而应该写到文档里~,我这么想应该没错吧haha~
如果是百度AI接口 可以用第一种。如果你是集群部署。使用同一个appid apikey secretkey之类的话。那第二种貌似不会出错哦。
SDK集成了这2种方式哦。第二种参数传递appid留空即可。
鉴于目前升级的状况。估计第二种会出现错误。可以先考虑用第一种。