|
@@ -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) {
|