The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/github-enterprise/lib/common.js

39 lines
1.2 KiB

import { Meteor } from 'meteor/meteor';
import { Tracker } from 'meteor/tracker';
import { CustomOAuth } from '../../custom-oauth';
import { settings } from '../../settings';
// GitHub Enterprise Server CallBack URL needs to be http(s)://{rocketchat.server}[:port]/_oauth/github_enterprise
// In RocketChat -> Administration the URL needs to be http(s)://{github.enterprise.server}/
const config = {
serverURL: '',
identityPath: '/api/v3/user',
authorizePath: '/login/oauth/authorize',
tokenPath: '/login/oauth/access_token',
addAutopublishFields: {
forLoggedInUser: ['services.github-enterprise'],
forOtherUsers: ['services.github-enterprise.username'],
},
};
const GitHubEnterprise = new CustomOAuth('github_enterprise', config);
if (Meteor.isServer) {
Meteor.startup(function() {
settings.get('API_GitHub_Enterprise_URL', function(key, value) {
config.serverURL = value;
GitHubEnterprise.configure(config);
});
});
} else {
Meteor.startup(function() {
Tracker.autorun(function() {
if (settings.get('API_GitHub_Enterprise_URL')) {
config.serverURL = settings.get('API_GitHub_Enterprise_URL');
GitHubEnterprise.configure(config);
}
});
});
}