Unverified Commit d2df4c6d authored by Diego Mello's avatar Diego Mello Committed by GitHub
Browse files

[NEW] Wordpress auth (#1633)

parent 514e73c7
......@@ -118,7 +118,7 @@ Readme will guide you on how to config.
| Accessibility (Medium) | ❌ |
| Accessibility (Advanced) | ❌ |
| Authentication via Meteor | ❌ |
| Authentication via Wordpress | |
| Authentication via Wordpress | |
| Authentication via Custom OAuth | ✅ |
| Add user to the room | ✅ |
| Send message | ✅ |
......
......@@ -903,6 +903,8 @@ const RocketChat = {
name, custom, showButton = true, service
} = services;
const authName = name || service;
if (custom && showButton) {
return 'oauth_custom';
}
......@@ -916,8 +918,8 @@ const RocketChat = {
}
// TODO: remove this after other oauth providers are implemented. e.g. Drupal, github_enterprise
const availableOAuth = ['facebook', 'github', 'gitlab', 'google', 'linkedin', 'meteor-developer', 'twitter'];
return availableOAuth.includes(name) ? 'oauth' : 'not_supported';
const availableOAuth = ['facebook', 'github', 'gitlab', 'google', 'linkedin', 'meteor-developer', 'twitter', 'wordpress'];
return availableOAuth.includes(authName) ? 'oauth' : 'not_supported';
},
getUsernameSuggestion() {
// RC 0.65.0
......
......@@ -232,6 +232,17 @@ class LoginSignupView extends React.Component {
this.openOAuth({ url });
}
onPressWordpress = () => {
const { services, server } = this.props;
const { clientId, serverURL } = services.wordpress;
const endpoint = `${ serverURL }/oauth/authorize`;
const redirect_uri = `${ server }/_oauth/wordpress?close`;
const scope = 'openid';
const state = this.getOAuthState();
const params = `?client_id=${ clientId }&redirect_uri=${ redirect_uri }&scope=${ scope }&state=${ state }&response_type=code`;
this.openOAuth({ url: `${ endpoint }${ params }` });
}
onPressCustomOAuth = (loginService) => {
const { server } = this.props;
const {
......@@ -314,7 +325,8 @@ class LoginSignupView extends React.Component {
google: this.onPressGoogle,
linkedin: this.onPressLinkedin,
'meteor-developer': this.onPressMeteor,
twitter: this.onPressTwitter
twitter: this.onPressTwitter,
wordpress: this.onPressWordpress
};
return oauthProviders[name];
}
......
{
"images" : [
{
"idiom" : "universal",
"filename" : "iconWordpress.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "iconWordpress@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "iconWordpress@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment