连接到外部头像来源?

我已经了解 Gravatar 和外部系统头像,但能否将用户的头像指定为其他外部图片?在我的场景中,用户不应能够更改头像,而是由另一个系统根据特定规则确定头像。

在这个“系统”的一部分中,我可以调用 PUT 请求来更新用户的头像,例如:

$.ajax({
    url: 'https://example.com/site/selectable-avatars.json',
    type: 'GET',
    success: function(data) {
        const payload = {
            url: data[1] // 目前硬编码,后续会根据某些数据分配
        }
        $.ajax({
            url: 'https://example.com/u/' + username + '/preferences/avatar/select',
            type: 'PUT',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Api-Key': 'my-api-key',
                'Api-Username': 'my-api-username'
             },
             data: JSON.stringify(payload),
             success: function(data, textStatus) {
                 console.log(data, textStatus);
             }
        })
     }
  })

这段代码运行完美,成功将头像设置为传入的图片(目前硬编码为 data[1])。这里的 data 是一个图片数组,已在 Discourse 设置中配置为“可选头像”。

问题是,实际的图片 URL 构造方式为 https://example.com/${url},而不是直接使用 url

我想问题的关键在于:是否可以将头像文件设置为外部图片(来自其他域名),而不是内部图片?或者是否有更好的方法来实现我的目标?

感谢您的时间。

您可以通过 Discourse 官方单点登录 (SSO) 及相关设置,以受支持的方式实现此功能。