first stab at github enterprise authentication

pull/1005/head
Lee Faus 10 years ago
parent bedddfab25
commit 414cf279cb
  1. 3
      .meteor/versions
  2. 24
      packages/rocketchat-github-enterprise/common.coffee
  3. 3
      packages/rocketchat-github-enterprise/github-enterprise-login-button.css
  4. 1
      packages/rocketchat-github-enterprise/i18n/ar.i18n.json
  5. 3
      packages/rocketchat-github-enterprise/i18n/de.i18n.json
  6. 1
      packages/rocketchat-github-enterprise/i18n/el.i18n.json
  7. 3
      packages/rocketchat-github-enterprise/i18n/en.i18n.json
  8. 1
      packages/rocketchat-github-enterprise/i18n/es.i18n.json
  9. 3
      packages/rocketchat-github-enterprise/i18n/fi.i18n.json
  10. 3
      packages/rocketchat-github-enterprise/i18n/fr.i18n.json
  11. 1
      packages/rocketchat-github-enterprise/i18n/he.i18n.json
  12. 3
      packages/rocketchat-github-enterprise/i18n/hr.i18n.json
  13. 1
      packages/rocketchat-github-enterprise/i18n/hu.i18n.json
  14. 1
      packages/rocketchat-github-enterprise/i18n/it.i18n.json
  15. 1
      packages/rocketchat-github-enterprise/i18n/ja.i18n.json
  16. 3
      packages/rocketchat-github-enterprise/i18n/km.i18n.json
  17. 3
      packages/rocketchat-github-enterprise/i18n/ko.i18n.json
  18. 1
      packages/rocketchat-github-enterprise/i18n/pl.i18n.json
  19. 3
      packages/rocketchat-github-enterprise/i18n/pt.i18n.json
  20. 1
      packages/rocketchat-github-enterprise/i18n/ru.i18n.json
  21. 1
      packages/rocketchat-github-enterprise/i18n/ta-IN.i18n.json
  22. 1
      packages/rocketchat-github-enterprise/i18n/tr.i18n.json
  23. 1
      packages/rocketchat-github-enterprise/i18n/ug.i18n.json
  24. 1
      packages/rocketchat-github-enterprise/i18n/uk.i18n.json
  25. 1
      packages/rocketchat-github-enterprise/i18n/zh.i18n.json
  26. 0
      packages/rocketchat-github-enterprise/package-tap.i18n
  27. 38
      packages/rocketchat-github-enterprise/package.js
  28. 1
      packages/rocketchat-github-enterprise/startup.coffee
  29. 2
      packages/rocketchat-gitlab/gitlab-login-button.css
  30. 3
      packages/rocketchat-lib/settings/server/startup.coffee
  31. 3
      server/startup/migrations/v18.coffee

@ -137,13 +137,14 @@ rocketchat:oembed@0.0.1
rocketchat:slashcommands-invite@0.0.1
rocketchat:slashcommands-join@0.0.1
rocketchat:slashcommands-leave@0.0.1
rocketchat:spotify@0.0.1
rocketchat:statistics@0.0.1
rocketchat:webrtc@0.0.1
rocketchat:wordpress@0.0.1
routepolicy@1.0.6
service-configuration@1.0.5
session@1.1.1
sha@1.0.4
rocketchat:wordpress@0.0.1
simple:highlight.js@1.0.9
simple:json-routes@1.0.4
spacebars@1.0.7

@ -0,0 +1,24 @@
config =
serverURL: 'http://faushouse.vm'
identityPath: '/api/v3/user'
addAutopublishFields:
forLoggedInUser: ['services.github-enterprise']
forOtherUsers: ['services.github-enterprise.username']
GitHubEnterprise = new CustomOAuth 'github-enterprise', config
if Meteor.isServer
Meteor.startup ->
RocketChat.models.Settings.find({ _id: 'API_GitHub_Enterprise_URL' }).observe
added: (record) ->
config.serverURL = RocketChat.settings.get 'API_GitHub_Enterprise_URL'
GitHubEnterprise.configure config
changed: (record) ->
config.serverURL = RocketChat.settings.get 'API_GitHub_Enterprise_URL'
GitHubEnterprise.configure config
else
Meteor.startup ->
Tracker.autorun ->
if RocketChat.settings.get 'API_GitHub_Enterprise_URL'
config.serverURL = RocketChat.settings.get 'API_GitHub_Enterprise_URL'
GitHubEnterprise.configure config

@ -0,0 +1,3 @@
#login-buttons-image-github-enterprise {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wJGBYxHYxl31wAAAHpSURBVDjLpZI/aFNRFMZ/973bJqGRPopV4qNq/+SpTYnWRhCKilShg9BGcHOM+GfQoZuLk4iLgw4qZNBaHLuIdBNHl7Ta1qdNFI3SihnaNG1MpH3vuiQYQnwZvHCG893zffc751z4z6PX5T5gA1DAKnAaOAQEgAfAVeCpl+CeCrlRuEC6maO4h0A1wl4tPAHMqNUthvrDdHYY7A3t4rDVjeO6rBU2FaABM1WCrBNoi48Mi+nH9yj+KtPibAKwJXfQ5vcRG7soUnYmWEuQgAEIYBv4cGpoILI0Z4tyYYPegS6UguyijZQ6J45GSNmZHzUcJYD2ii2Ajv7efZ8WZ6ZwXFj79hXpayW4O0SL1Nl/8jzZlZ9dQLFS70pgvZKIyGD0yvu5eRmMnrk1PjI81ir1qBACTdPevXj95mVuNX8XKDQc/+T334bZZ104cvzYw2s3J3qAL5WXSsDbf61NNMBu+wOBs+VSyQ84Nfhg028ZGx3/qyy0lC7lgi7lghBitoon03lvB8l0/k7Wnk+8mny0cyXzEcfZxgwfZPTyRMHsOzAFXE9YhtNQIJnOx4FpJXT1eSkn2g0frqMoFrfoCXcqlCOAGwnLuO/l4JymcWl5uRxzXUKghBAiZ5r+WaV4lrCM555zqO+x2d0ftGmpiA/0k70AAAAASUVORK5CYII=);
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,3 @@
{
"API_GitHub_Enterprise_URL" : "GitHub Enterprise"
}

@ -0,0 +1,38 @@
Package.describe({
name: 'rocketchat:github-enterprise',
version: '0.0.1',
summary: 'RocketChat settings for GitHub Enterprise Oauth Flow'
});
// Loads all i18n.json files into tapi18nFiles
var _ = Npm.require('underscore');
var fs = Npm.require('fs');
tapi18nFiles = fs.readdirSync('packages/rocketchat-github-enterprise/i18n').forEach(function(filename) {
if (fs.statSync('packages/rocketchat-github-enterprise/i18n/' + filename).size > 16) {
return 'i18n/' + filename;
}
});
Package.onUse(function(api) {
api.versionsFrom('1.0');
api.use("tap:i18n@1.5.1");
api.use('coffeescript');
api.use('rocketchat:lib@0.0.1');
api.use('rocketchat:custom-oauth');
api.use('templating', 'client');
api.addFiles("package-tap.i18n");
api.addFiles("common.coffee");
api.addFiles(tapi18nFiles);
api.addFiles('github-enterprise-login-button.css', 'client');
api.addFiles('startup.coffee', 'server');
});
Package.onTest(function(api) {
});

@ -0,0 +1 @@
RocketChat.settings.add 'API_GitHub_Enterprise_URL', '', { type: 'string', group: 'API', public: true, i18nLabel: 'rocketchat-github-enterprise:API_GitHub_Enterprise_URL' }

@ -1,3 +1,3 @@
#login-buttons-image-gitlab {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wJGBYxHYxl31wAAAHpSURBVDjLpZI/aFNRFMZ/973bJqGRPopV4qNq/+SpTYnWRhCKilShg9BGcHOM+GfQoZuLk4iLgw4qZNBaHLuIdBNHl7Ta1qdNFI3SihnaNG1MpH3vuiQYQnwZvHCG893zffc751z4z6PX5T5gA1DAKnAaOAQEgAfAVeCpl+CeCrlRuEC6maO4h0A1wl4tPAHMqNUthvrDdHYY7A3t4rDVjeO6rBU2FaABM1WCrBNoi48Mi+nH9yj+KtPibAKwJXfQ5vcRG7soUnYmWEuQgAEIYBv4cGpoILI0Z4tyYYPegS6UguyijZQ6J45GSNmZHzUcJYD2ii2Ajv7efZ8WZ6ZwXFj79hXpayW4O0SL1Nl/8jzZlZ9dQLFS70pgvZKIyGD0yvu5eRmMnrk1PjI81ir1qBACTdPevXj95mVuNX8XKDQc/+T334bZZ104cvzYw2s3J3qAL5WXSsDbf61NNMBu+wOBs+VSyQ84Nfhg028ZGx3/qyy0lC7lgi7lghBitoon03lvB8l0/k7Wnk+8mny0cyXzEcfZxgwfZPTyRMHsOzAFXE9YhtNQIJnOx4FpJXT1eSkn2g0frqMoFrfoCXcqlCOAGwnLuO/l4JymcWl5uRxzXUKghBAiZ5r+WaV4lrCM555zqO+x2d0ftGmpiA/0k70AAAAASUVORK5CYII=);
}
}

@ -21,6 +21,9 @@ RocketChat.settings.add 'Accounts_OAuth_Google_secret', '', { type: 'string', gr
RocketChat.settings.add 'Accounts_OAuth_Github', false, { type: 'boolean', group: 'Accounts', section: 'Github', public: true }
RocketChat.settings.add 'Accounts_OAuth_Github_id', '', { type: 'string', group: 'Accounts', section: 'Github' }
RocketChat.settings.add 'Accounts_OAuth_Github_secret', '', { type: 'string', group: 'Accounts', section: 'Github' }
RocketChat.settings.add 'Accounts_OAuth_GitHub_Enterprise', false, { type: 'boolean', group: 'Accounts', section: 'GitHub Enterprise', public: true }
RocketChat.settings.add 'Accounts_OAuth_GitHub_Enterprise_id', '', { type: 'string', group: 'Accounts', section: 'GitHub Enterprise' }
RocketChat.settings.add 'Accounts_OAuth_GitHub_Enterprise_secret', '', { type: 'string', group: 'Accounts', section: 'GitHub Enterprise' }
RocketChat.settings.add 'Accounts_OAuth_Gitlab', false, { type: 'boolean', group: 'Accounts', section: 'Gitlab', public: true }
RocketChat.settings.add 'Accounts_OAuth_Gitlab_id', '', { type: 'string', group: 'Accounts', section: 'Gitlab' }
RocketChat.settings.add 'Accounts_OAuth_Gitlab_secret', '', { type: 'string', group: 'Accounts', section: 'Gitlab' }

@ -12,6 +12,9 @@ Meteor.startup ->
Accounts_Github: 'Accounts_OAuth_Github'
Accounts_Github_id: 'Accounts_OAuth_Github_id'
Accounts_Github_secret: 'Accounts_OAuth_Github_secret'
Accounts_GitHub_Enterprise: 'Accounts_OAuth_GitHub_Enterprise'
Accounts_GitHub_Enterprise_id: 'Accounts_OAuth_GitHub_Enterprise_id'
Accounts_GitHub_Enterprise_secret: 'Accounts_OAuth_GitHub_Enterprise_secret'
Accounts_Gitlab: 'Accounts_OAuth_Gitlab'
Accounts_Gitlab_id: 'Accounts_OAuth_Gitlab_id'
Accounts_Gitlab_secret: 'Accounts_OAuth_Gitlab_secret'

Loading…
Cancel
Save