代码之家  ›  专栏  ›  技术社区  ›  user1283776

当认证站点允许用户更改电子邮件时,如何处理话语sso?

  •  0
  • user1283776  · 技术社区  · 5 年前

    我们使用基于本指南实现的话语SSO流: https://meta.discourse.org/t/official-single-sign-on-for-discourse-sso/13045

    这对我们很有效。但现在我们想允许系统中的用户更改电子邮件,这似乎会导致问题。

    当我在系统中更改用户的电子邮件时,sso到discussion将停止工作。

    登录错误

    你的帐户有问题。请联系网站的 管理员。

    我想这篇文章收到了一封邮件和一个不匹配的用户名,不知道该怎么办。

    处理这个问题的好方法是什么?

    我提出的最好的想法是,在启动sso之前,使用discoursapi来更改用户在discoursation中的电子邮件以匹配in-out系统。

    但我不知道这是否可能。下面是我失败的尝试。

    这是我的请求:

    https://forum-stage.{domain}.com/users/{username}/preferences/email
    
    Headers:
    Content-Type: application/x-www-form-urlencoded
    Accept: application/json
    
    Body (as x-www-form-urlencoded in Postman):
    email: testemail@testdomain.com
    api_key: 75a...77d
    api_username: system
    

    这是我收到的回复

    {
        "errors": [
            "You are not permitted to view the requested resource."
        ],
        "error_type": "invalid_access"
    }
    
    0 回复  |  直到 5 年前
    推荐文章