我试图了解ejabberd_oauth.erl如何实现oauth。在ejabberd_oauth.erl中,有一个函数名称 associate_access_token - 这是 mnesia:dirty_write(R)所在的位置。根据我的理解, mnesia:dirty_write(R)应该将记录写入数据库,但在完成测试后我完全错了。
测试:我已评论整个功能并运行oauth,然后使用dump_table检查最新的数据库内容。我刚刚转储的数据库仍然包含最新的令牌。这意味着写入db将由另一个函数控制。
答案 0 :(得分:0)
这似乎是该操作的正确功能。 oauth密钥写在ejabberd_oauth:associate_access_token
中。你确定你的测试是正确的吗?
答案 1 :(得分:0)
我终于找到了解决问题的快速解决方案:
自定义模块需要命名为为“ejabberd_oauth”,编译并将新的ejabberd_oauth.beam复制到/ lib / ejabberd- / EBIN / (这将取代默认的ejabberd_oauth.beam)。
所以我的问题的答案是: associate_access_token
以前(引导我解决这个问题)我: