Search in sources :

Example 1 with OAuthServiceProvider

use of net.oauth.OAuthServiceProvider in project cxf by apache.

the class GetProtectedResourceController method handleRequest.

@RequestMapping("/getProtectedResource")
protected ModelAndView handleRequest(@ModelAttribute("oAuthParams") OAuthParams oAuthParams, HttpServletRequest request) throws Exception {
    OAuthServiceProvider provider = new OAuthServiceProvider(oAuthParams.getTemporaryCredentialsEndpoint(), oAuthParams.getResourceOwnerAuthorizationEndpoint(), null);
    OAuthConsumer consumer = new OAuthConsumer(null, oAuthParams.getClientID(), oAuthParams.getClientSecret(), provider);
    OAuthAccessor accessor = new OAuthAccessor(consumer);
    accessor.requestToken = oAuthParams.getOauthToken();
    accessor.tokenSecret = oAuthParams.getOauthTokenSecret();
    Map<String, String> parameters = new HashMap<>();
    parameters.put(OAuth.OAUTH_SIGNATURE_METHOD, oAuthParams.getSignatureMethod());
    parameters.put(OAuth.OAUTH_NONCE, UUID.randomUUID().toString());
    parameters.put(OAuth.OAUTH_TIMESTAMP, String.valueOf(System.currentTimeMillis() / 1000));
    parameters.put(OAuth.OAUTH_TOKEN, oAuthParams.getOauthToken());
    parameters.put(OAuth.OAUTH_CONSUMER_KEY, oAuthParams.getClientID());
    OAuthMessage msg = null;
    String method = request.getParameter("op");
    if ("GET".equals(method)) {
        msg = accessor.newRequestMessage(OAuthMessage.GET, oAuthParams.getGetResourceURL(), parameters.entrySet());
    } else {
        msg = accessor.newRequestMessage(OAuthMessage.POST, oAuthParams.getPostResourceURL(), parameters.entrySet());
    }
    OAuthClient client = new OAuthClient(new URLConnectionClient());
    msg = client.access(msg, ParameterStyle.QUERY_STRING);
    StringBuilder bodyBuffer = readBody(msg);
    oAuthParams.setResourceResponse(bodyBuffer.toString());
    String authHeader = msg.getHeader("WWW-Authenticate");
    String oauthHeader = msg.getHeader("OAuth");
    String header = "";
    if (authHeader != null) {
        header += "WWW-Authenticate:" + authHeader;
    }
    if (oauthHeader != null) {
        header += "OAuth:" + oauthHeader;
    }
    oAuthParams.setHeader(header);
    oAuthParams.setResponseCode(((OAuthResponseMessage) msg).getHttpResponse().getStatusCode());
    return new ModelAndView("accessToken");
}
Also used : OAuthAccessor(net.oauth.OAuthAccessor) OAuthServiceProvider(net.oauth.OAuthServiceProvider) OAuthMessage(net.oauth.OAuthMessage) URLConnectionClient(net.oauth.client.URLConnectionClient) HashMap(java.util.HashMap) OAuthClient(net.oauth.client.OAuthClient) OAuthResponseMessage(net.oauth.client.OAuthResponseMessage) ModelAndView(org.springframework.web.servlet.ModelAndView) OAuthConsumer(net.oauth.OAuthConsumer) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 2 with OAuthServiceProvider

use of net.oauth.OAuthServiceProvider in project cxf by apache.

the class TemporaryCredentialsController method handleRequest.

@RequestMapping("/handleTemporaryCredentials")
public ModelAndView handleRequest(@ModelAttribute(value = "oAuthParams") OAuthParams oAuthParams, HttpServletResponse response) {
    OAuthServiceProvider provider;
    OAuthConsumer consumer;
    OAuthAccessor accessor;
    OAuthClient client = new OAuthClient(new URLConnectionClient());
    oAuthParams.setErrorMessage(null);
    String temporaryCredentialsEndpointUrl = oAuthParams.getTemporaryCredentialsEndpoint();
    if (temporaryCredentialsEndpointUrl == null || "".equals(temporaryCredentialsEndpointUrl)) {
        oAuthParams.setErrorMessage("Missing temporary credentials endpoint url");
    }
    String clientId = oAuthParams.getClientID();
    if (clientId == null || "".equals(clientId)) {
        oAuthParams.setErrorMessage("Missing client identifier");
    }
    String secret = oAuthParams.getClientSecret();
    if (secret == null || "".equals(secret)) {
        oAuthParams.setErrorMessage("Missing client shared-secret");
    }
    if (oAuthParams.getErrorMessage() == null) {
        provider = new OAuthServiceProvider(temporaryCredentialsEndpointUrl, oAuthParams.getResourceOwnerAuthorizationEndpoint(), oAuthParams.getTokenRequestEndpoint());
        consumer = new OAuthConsumer(null, clientId, secret, provider);
        accessor = new OAuthAccessor(consumer);
        Map<String, String> parameters = new HashMap<>();
        parameters.put(OAuth.OAUTH_SIGNATURE_METHOD, oAuthParams.getSignatureMethod());
        parameters.put(OAuth.OAUTH_NONCE, UUID.randomUUID().toString());
        parameters.put(OAuth.OAUTH_TIMESTAMP, String.valueOf(System.currentTimeMillis() / 1000));
        parameters.put(OAuth.OAUTH_CALLBACK, oAuthParams.getCallbackURL());
        parameters.put("realm", "private");
        parameters.put("scope", "read_info modify_info");
        try {
            accessor.consumer.setProperty(OAuthClient.PARAMETER_STYLE, ParameterStyle.AUTHORIZATION_HEADER);
            client.getRequestToken(accessor, OAuthMessage.POST, parameters.entrySet());
        } catch (Exception e) {
            oAuthParams.setErrorMessage(e.toString());
        }
        oAuthParams.setOauthToken(accessor.requestToken);
        oAuthParams.setOauthTokenSecret(accessor.tokenSecret);
        Cookie cId = new Cookie("clientID", oAuthParams.getClientID());
        Cookie cSec = new Cookie("clientSecret", oAuthParams.getClientSecret());
        Cookie tokenSec = new Cookie("tokenSec", accessor.tokenSecret);
        response.addCookie(cId);
        response.addCookie(cSec);
        response.addCookie(tokenSec);
    }
    ModelAndView modelAndView = new ModelAndView();
    if (oAuthParams.getErrorMessage() != null) {
        modelAndView.setViewName("temporaryCredentials");
    } else {
        modelAndView.setViewName("authorizeResourceOwner");
    }
    return modelAndView;
}
Also used : OAuthAccessor(net.oauth.OAuthAccessor) Cookie(javax.servlet.http.Cookie) OAuthServiceProvider(net.oauth.OAuthServiceProvider) URLConnectionClient(net.oauth.client.URLConnectionClient) OAuthClient(net.oauth.client.OAuthClient) HashMap(java.util.HashMap) ModelAndView(org.springframework.web.servlet.ModelAndView) OAuthConsumer(net.oauth.OAuthConsumer) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with OAuthServiceProvider

use of net.oauth.OAuthServiceProvider in project uPortal by Jasig.

the class ZeroLeggedOAuthInterceptor method getConsumer.

/**
 * Get the OAuthConsumer. Will initialize it lazily.
 *
 * @return the OAuthConsumer object.
 */
private synchronized RealmOAuthConsumer getConsumer() {
    // to the properties file...
    if (consumer == null) {
        OAuthServiceProvider serviceProvider = new OAuthServiceProvider("", "", "");
        String realm = propertyResolver.getProperty("org.jasig.rest.interceptor.oauth." + id + ".realm");
        String consumerKey = propertyResolver.getProperty("org.jasig.rest.interceptor.oauth." + id + ".consumerKey");
        String secretKey = propertyResolver.getProperty("org.jasig.rest.interceptor.oauth." + id + ".secretKey");
        Assert.notNull(consumerKey, "The property \"org.jasig.rest.interceptor.oauth." + id + ".consumerKey\" must be set.");
        Assert.notNull(secretKey, "The property \"org.jasig.rest.interceptor.oauth." + id + ".secretKey\" must be set.");
        consumer = new RealmOAuthConsumer(consumerKey, secretKey, realm, serviceProvider);
    }
    return consumer;
}
Also used : OAuthServiceProvider(net.oauth.OAuthServiceProvider)

Example 4 with OAuthServiceProvider

use of net.oauth.OAuthServiceProvider in project cxf by apache.

the class TokenRequestController method handleRequest.

@RequestMapping("/tokenRequest")
protected ModelAndView handleRequest(@ModelAttribute("oAuthParams") OAuthParams oAuthParams, HttpServletRequest request) throws Exception {
    String oauthToken = oAuthParams.getOauthToken();
    String tokenRequestEndpoint = oAuthParams.getTokenRequestEndpoint();
    String clientID = oAuthParams.getClientID();
    if (tokenRequestEndpoint == null || "".equals(tokenRequestEndpoint)) {
        oAuthParams.setErrorMessage("Missing token request URI");
    }
    if (clientID == null || "".equals(clientID)) {
        oAuthParams.setErrorMessage("Missing consumer key");
    }
    if (oauthToken == null || "".equals(oauthToken)) {
        oAuthParams.setErrorMessage("Missing oauth token");
    }
    String verifier = oAuthParams.getOauthVerifier();
    if (verifier == null || "".equals(verifier)) {
        oAuthParams.setErrorMessage("Missing oauth verifier");
    }
    if (oAuthParams.getErrorMessage() == null) {
        OAuthClient client = new OAuthClient(new URLConnectionClient());
        OAuthServiceProvider provider = new OAuthServiceProvider(oAuthParams.getTemporaryCredentialsEndpoint(), oAuthParams.getResourceOwnerAuthorizationEndpoint(), tokenRequestEndpoint);
        OAuthConsumer consumer = new OAuthConsumer(null, clientID, oAuthParams.getClientSecret(), provider);
        OAuthAccessor accessor = new OAuthAccessor(consumer);
        accessor.requestToken = oauthToken;
        accessor.tokenSecret = Common.findCookieValue(request, "tokenSec");
        Map<String, String> parameters = new HashMap<>();
        parameters.put(OAuth.OAUTH_SIGNATURE_METHOD, oAuthParams.getSignatureMethod());
        parameters.put(OAuth.OAUTH_NONCE, UUID.randomUUID().toString());
        parameters.put(OAuth.OAUTH_TIMESTAMP, String.valueOf(System.currentTimeMillis() / 1000));
        parameters.put(OAuth.OAUTH_TOKEN, oauthToken);
        parameters.put(OAuth.OAUTH_VERIFIER, oAuthParams.getOauthVerifier());
        try {
            client.getAccessToken(accessor, OAuthMessage.GET, parameters.entrySet());
            oAuthParams.setOauthToken(accessor.accessToken);
        } catch (Exception e) {
            oAuthParams.setErrorMessage(e.toString());
            oAuthParams.setOauthToken(oauthToken);
            return new ModelAndView("tokenRequest");
        }
        oAuthParams.setOauthTokenSecret(accessor.tokenSecret);
    }
    oAuthParams.setClientID(Common.findCookieValue(request, "clientID"));
    oAuthParams.setClientSecret(Common.findCookieValue(request, "clientSecret"));
    return new ModelAndView("accessToken");
}
Also used : OAuthAccessor(net.oauth.OAuthAccessor) OAuthServiceProvider(net.oauth.OAuthServiceProvider) URLConnectionClient(net.oauth.client.URLConnectionClient) OAuthClient(net.oauth.client.OAuthClient) HashMap(java.util.HashMap) ModelAndView(org.springframework.web.servlet.ModelAndView) OAuthConsumer(net.oauth.OAuthConsumer) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with OAuthServiceProvider

use of net.oauth.OAuthServiceProvider in project ngtesting-platform by aaronchen2k.

the class AtlassianOAuthClient method getAccessor.

private final OAuthAccessor getAccessor() {
    if (accessor == null) {
        OAuthServiceProvider serviceProvider = new OAuthServiceProvider(getRequestTokenUrl(), getAuthorizeUrl(), getAccessTokenUrl());
        OAuthConsumer consumer = new OAuthConsumer(callback, consumerKey, null, serviceProvider);
        consumer.setProperty(RSA_SHA1.PRIVATE_KEY, privateKey);
        consumer.setProperty(OAuth.OAUTH_SIGNATURE_METHOD, OAuth.RSA_SHA1);
        accessor = new OAuthAccessor(consumer);
    }
    return accessor;
}
Also used : OAuthAccessor(net.oauth.OAuthAccessor) OAuthServiceProvider(net.oauth.OAuthServiceProvider) OAuthConsumer(net.oauth.OAuthConsumer)

Aggregations

OAuthServiceProvider (net.oauth.OAuthServiceProvider)5 OAuthAccessor (net.oauth.OAuthAccessor)4 OAuthConsumer (net.oauth.OAuthConsumer)4 HashMap (java.util.HashMap)3 OAuthClient (net.oauth.client.OAuthClient)3 URLConnectionClient (net.oauth.client.URLConnectionClient)3 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)3 ModelAndView (org.springframework.web.servlet.ModelAndView)3 Cookie (javax.servlet.http.Cookie)1 OAuthMessage (net.oauth.OAuthMessage)1 OAuthResponseMessage (net.oauth.client.OAuthResponseMessage)1