更新用户头像¶
Authany 允许您的服务器通过管理 API(Admin API)更新用户头像。
概览¶
要更新用户头像,需要:
- 向
/_api/admin/images/upload发起GET请求,获取预签名上传 URL(pre-signed upload url)。 - 向预签名上传 URL 发起
POST请求,上传图片文件。上传完成后,该调用会返回结果 URL。 - 调用 Admin GraphQL API
/_api/admin/graphql更新用户的标准属性,将picture属性更新为上一步返回的结果 URL。
API 详情¶
获取预签名上传 URL¶
向 /_api/admin/images/upload 发起 GET 请求,获取预签名上传 URL。
该调用如下所示:
该调用会返回预签名上传 URL:
上传图片¶
将图片上传到预签名上传 URL。建议您在上传前对图片进行预处理:图片应裁剪为正方形,且大小应小于 10 MB。
使用 FormData 上传文件,字段名为 file。大多数 HTTP 库都可以用来构造 multipart/form-data 请求。
该调用如下所示:
POST <PRESIGNED_UPLOAD_URL_PATH> HTTP/1.1
Host: <YOUR_APP>.authgear.cloud
Content-Length: <CONTENT_LENGTH>
Content-Type: multipart/form-data; boundary=----boundary
----boundary
Content-Disposition: form-data; name="file"; filename="image.png"
Content-Type: image/png
<CONTENT_OF_IMAGE_FILE>
----boundary
上传完成后,该调用会返回结果 URL,格式为 authgearimages:///APP_ID/OBJECT_ID:
在标准属性中更新用户头像¶
参照 更新用户的标准属性 文档更新用户的 picture 属性,将该属性替换为上一步上传得到的新头像 URL(例如 authgearimages:///...)。