开发者社区> 问答> 正文

AssumeRole接口的RoleSessionName参数的值不能以数字字符打头

首先发下牢骚:
阿里的文档啊,真是折磨人啊,能不能搞一个针对不同业务场景的不同语言的完整demo啊,而不是示例代码分散在各个文档中,不好找,而且一旦api有更新,文档就过时了,还会误导开发人员。


AssumeRole接口的RoleSessionName参数的值不能以数字字符打头,注意啦,折腾了我一整天
关于AssumeRole接口参数中RoleSessionName的限制条件是如下描述的,可是我传了我的系统的用户id后,后老报
Error code: InvalidParameter.RoleSessionName的错误,查半天没找到问题,后来想到我的系统用户id字段是一个为数字的字符串,是不是这个参数不能以数字开发,我自己在userId上加了一个统一的字母开发的前缀后,居然搞定,



RoleSessionName="AA"+MyAppUserId

官方文档关于此接口的说明:

RoleSessionName

类型:String
必须:是
描述:此参数用来区分不同的Token,以标明谁在使用此Token,便于审计;
格式:^[a-zA-Z0-9\.@\-_]+$

当一个数字开头的roleSessionName传入后的错误信息


015-12-20 18:02:36 ERROR c.c.data.domain.aliyun.Aliyun Failed to get a federation token.
Error code: InvalidParameter.RoleSessionName
Error message: The parameter RoleSessionName is wrongly formed.

展开
收起
ylybbs 2015-12-20 18:12:32 12709 0
3 条回答
写回答
取消 提交回答
  • 回 2楼boyang.liu的帖子
    2位以上 才是正解
    2016-12-31 16:09:07
    赞同 展开评论 打赏
  • 回 楼主ylybbs的帖子
    感谢楼主反馈

    这确实是一个问题,问题的原因是RoleSessionName至少需要2个或2个以上的字符,与是否是数字开头无关
    2015-12-21 20:50:44
    赞同 展开评论 打赏
  • 赞楼主的分享精神!
    2015-12-21 20:43:13
    赞同 展开评论 打赏
问答分类:
API
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载