Etherpad:最好的方法来挂钩到auth

我正在做一个etherpad插件,检查用户是否通过身份validation。 如果不是,则显示只读。 我得到了这个:

var eejs = require('ep_etherpad-lite/node/eejs'); var readOnlyManager = require("ep_etherpad-lite/node/db/ReadOnlyManager"); exports.route = function(hook_name, args, cb){ args.app.get('/p/:pad', function(req, res){ if(req.params.pad.indexOf('r.') === 0){ res.send(eejs.require("ep_etherpad-lite/templates/pad.html", {req: req})); } else { if(req.session.user){ res.send(eejs.require("ep_etherpad-lite/templates/pad.html", {req: req})); } else { readOnlyManager.getReadOnlyId(req.params.pad, function(err, readonlyID){ res.redirect('/p/'+readonlyID); }); } } }); } exports.logout = function(hook_name, args, cb){ args.app.get('/logout', function(req, res){ req.session.destroy(function(){ res.redirect('/'); }); }); } 

但是我不能使用postpath来创build我自己的用户login。 我怎么能有要求的一般authentication,让我们说,当我访问/login?

我在Etherpad上写了很多auth机制,但是那是几年前的事情,我不知道它有多less改变。

您需要的API端点以及Etherpad文档中提供了有关auth是如何工作的文档 ,特别是身份validation文档中讨论了auth。

从你的问题很难说,但它看起来像你想在/login有某种login页面? 如果是这样,请查看Etherpad如何实现基本身份validation,并通过在/ login上创build新的快速terminal来对其进行调整

有各种各样的插件(包括我已经开发的插件)可以用来创build新的快速端点, 在ep_email_notifications Etherpad插件中有一个例子

我从你的问题中得到了最好的结果吗?