Răsfoiți Sursa

Add dwrensha's Sandstorm patch to Wekan so it does not need to be maintained separately.

Lauri Ojansivu 7 ani în urmă
părinte
comite
bda15daa78
1 a modificat fișierele cu 17 adăugiri și 0 ștergeri
  1. 17 0
      sandstorm.js

+ 17 - 0
sandstorm.js

@@ -316,6 +316,23 @@ if (isSandstorm && Meteor.isServer) {
   Migrations.add('enforce-public-visibility-for-sandstorm', () => {
     Boards.update('sandstorm', { $set: { permission: 'public' }});
   });
+
+  // Monkey patch to work around the problem described in
+  // https://github.com/sandstorm-io/meteor-accounts-sandstorm/pull/31
+  const _httpMethods = HTTP.methods;
+  HTTP.methods = (newMethods) => {
+    Object.keys(newMethods).forEach((key) =>  {
+      if (newMethods[key].auth) {
+        newMethods[key].auth = function() {
+          const sandstormID = this.req.headers['x-sandstorm-user-id'];
+          const user = Meteor.users.findOne({"services.sandstorm.id": sandstormID});
+          return user && user._id;
+        };
+      }
+    });
+    _httpMethods(newMethods);
+  };
+
 }
 
 if (isSandstorm && Meteor.isClient) {