Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 

31 rader
706 B

  1. const AuthProvider = require('./provider');
  2. class StaticProvider extends AuthProvider {
  3. constructor(app, opts, name) {
  4. super(app, opts, name);
  5. this.users = opts.users;
  6. this.perms = opts.perms;
  7. }
  8. validate(username, password) {
  9. if (this.users[username] == password) {
  10. return username;
  11. }
  12. return false;
  13. }
  14. permissions(username, permissions) {
  15. for (let permission of permissions) {
  16. if (!this.perms[permission] || !this.perms[permission].includes(username)) {
  17. return false;
  18. }
  19. }
  20. return true;
  21. }
  22. }
  23. module.exports = StaticProvider;