在对用户数据通过 SSO 同步的时候,调用提示 404 错误。
我们使用的是 Java 的代码。
如上图,返回显示的代码为 404。
问题原因出现上面错误的原因是安装的 Discourse 实例的 discourse connect 没有启用。
当这个选项不启用的话,API 调用的同步就会显示 404 没有找到。
启用后的就会显示其他的信息。
下图是当上面的接口调用成功后显示的 200 代码。
API 也会返回一个完整的用户相关数据。
数据结构是 JSON 的。
其实内容还蛮多的,你可以用这个把数据同步回 SSO 单点登录服务器上。
{ "id": 17, "username": "info.visafn.sso", "name": "Info Visafn Sso", "avatar_template": "/letter_avatar_proxy/v4/letter/i/7ba0ec/{size}.png", "active": true, "admin": false, "moderator": false, "last_seen_at": "2024-05-22T20:14:45.926Z", "last_emailed_at": "2024-05-22T20:32:54.369Z", "created_at": "2024-05-21T18:53:53.081Z", "last_seen_age": 87821.707032433, "last_emailed_age": 86733.264398046, "created_at_age": 179074.552034788, "trust_level": 1, "manual_locked_trust_level": null, "title": null, "time_read": 0, "staged": false, "days_visited": 1, "posts_read_count": 0, "topics_entered": 0, "post_count": 0, "can_send_activation_email": true, "can_activate": false, "can_deactivate": true, "ip_address": null, "registration_ip_address": null, "can_grant_admin": true, "can_revoke_admin": false, "can_grant_moderation": true, "can_revoke_moderation": false, "can_impersonate": true, "like_count": 0, "like_given_count": 0, "topic_count": 0, "post_edits_count": null, "flags_given_count": 0, "flags_received_count": 0, "private_topics_count": 1, "can_delete_all_posts": true, "can_be_deleted": true, "can_be_anonymized": true, "can_be_merged": true, "full_suspend_reason": null, "silence_reason": null, "penalty_counts": { "silenced": 0, "suspended": 0 }, "next_penalty": "2024-05-24T20:38:27.655Z", "primary_group_id": null, "badge_count": 1, "warnings_received_count": 0, "bounce_score": 0, "reset_bounce_score_after": null, "can_view_action_logs": true, "can_disable_second_factor": true, "can_delete_sso_record": true, "api_key_count": 0, "external_ids": {}, "single_sign_on_record": { "user_id": 17, "external_id": "1", "created_at": "2024-05-21T18:53:53.280Z", "updated_at": "2024-05-21T18:56:21.866Z", "external_username": "info.visafn.sso", "external_name": null, "external_avatar_url": null, "external_profile_background_url": null, "external_card_background_url": null }, "approved_by": null, "suspended_by": null, "silenced_by": null, "groups": [ { "id": 10, "automatic": true, "name": "trust_level_0", "display_name": "trust_level_0", "user_count": 14, "mentionable_level": 0, "messageable_level": 0, "visibility_level": 1, "primary_group": false, "title": null, "grant_trust_level": null, "incoming_email": null, "has_messages": false, "flair_url": null, "flair_bg_color": null, "flair_color": null, "bio_raw": null, "bio_cooked": null, "bio_excerpt": null, "public_admission": false, "public_exit": false, "allow_membership_requests": false, "full_name": null, "default_notification_level": 3, "membership_request_template": null, "members_visibility_level": 0, "can_see_members": true, "can_admin_group": true, "publish_read_state": false }, { "id": 11, "automatic": true, "name": "trust_level_1", "display_name": "trust_level_1", "user_count": 14, "mentionable_level": 0, "messageable_level": 0, "visibility_level": 1, "primary_group": false, "title": null, "grant_trust_level": null, "incoming_email": null, "has_messages": false, "flair_url": null, "flair_bg_color": null, "flair_color": null, "bio_raw": null, "bio_cooked": null, "bio_excerpt": null, "public_admission": false, "public_exit": false, "allow_membership_requests": false, "full_name": null, "default_notification_level": 3, "membership_request_template": null, "members_visibility_level": 0, "can_see_members": true, "can_admin_group": true, "publish_read_state": false } ]}