package org.pac4j.oauth.client;
import org.pac4j.core.context.WebContext;
import org.pac4j.core.redirect.RedirectAction;
import org.pac4j.oauth.profile.wordpress.WordPressProfileDefinition;
import org.pac4j.oauth.profile.wordpress.WordPressProfile;
import org.pac4j.scribe.builder.api.WordPressApi20;
/**
* <p>This class is the OAuth client to authenticate users in WordPress.</p>
* <p>It returns a {@link org.pac4j.oauth.profile.wordpress.WordPressProfile}.</p>
* <p>More information at http://developer.wordpress.com/docs/oauth2/</p>
*
* @author Jerome Leleu
* @since 1.1.0
*/
public class WordPressClient extends OAuth20Client<WordPressProfile> {
public WordPressClient() {
}
public WordPressClient(final String key, final String secret) {
setKey(key);
setSecret(secret);
}
@Override
protected void clientInit(final WebContext context) {
configuration.setApi(new WordPressApi20());
configuration.setProfileDefinition(new WordPressProfileDefinition());
configuration.setHasGrantType(true);
configuration.setTokenAsHeader(true);
setConfiguration(configuration);
defaultLogoutActionBuilder((ctx, profile, targetUrl) -> RedirectAction.redirect("https://wordpress.com/wp-login.php?action=logout"));
super.clientInit(context);
}
}