[ 
https://issues.apache.org/jira/browse/OLTU-210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16218539#comment-16218539
 ] 

Prateek commented on OLTU-210:
------------------------------

The following response I received 



{code:java}
REDIRECT TO: 
https://login.salesforce.com/services/oauth2/authorize?scope=api+full+refresh_token&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapache-oltu%2Fsalesforce%2Fredirect&client_id=3MVG9d8..z.hDcPJZPIzGJ5UZDrL7bJthAQ_v0YCxzEeG11HI1YwKNfvaYfDy0msJ6azE3ECMB8EGsF3NRtJ0
Received CODE: 
aPrxshT49BthlzIhcGw5DiH5uLb10ZaFTJ2oDjP6uQyreKy2ASctQlIUCoF9FwBRiaErVhIgkA==
POSTING: null
Received ACCESS_TOKEN: [ 
00D7F0000001I8v!ARgAQBhSAzlEyvhrxmTYmZgAyjh_z_6_qC8zDbyCrSuLUBwqxa3eKSoDjizgQZ0XJHIdh3Nd1xvFUZEN_JXwcxJKDOUgnJaC]
Received EXPIRES_IN: [ null]
Refresh Token : 
[5Aep8613hy0tHCYdhxJMolioLtSyVWkdY.qjUQIKBDHpKUfFk6Jir0yeyrOuoPYiPCBXQgonTk8GsMffbRTwhES]
{"access_token":"00D7F0000001I8v!ARgAQBhSAzlEyvhrxmTYmZgAyjh_z_6_qC8zDbyCrSuLUBwqxa3eKSoDjizgQZ0XJHIdh3Nd1xvFUZEN_JXwcxJKDOUgnJaC","refresh_token":"5Aep8613hy0tHCYdhxJMolioLtSyVWkdY.qjUQIKBDHpKUfFk6Jir0yeyrOuoPYiPCBXQgonTk8GsMffbRTwhES","signature":"9dyXNAMnfFykhwLeI5x9AY/8tYiyvAALQFiU9SoE8Zw=","scope":"refresh_token
 api 
full","id_token":"eyJraWQiOiIyMTAiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiVVZuMnVWMi1YRkMyZDZsU3dxcmZ2USIsInN1YiI6Imh0dHBzOi8vbG9naW4uc2FsZXNmb3JjZS5jb20vaWQvMDBEN0YwMDAwMDAxSTh2VUFFLzAwNTdGMDAwMDAwbDJiZ1FBQSIsImF1ZCI6IjNNVkc5ZDguLnouaERjUEpaUEl6R0o1VVpEckw3Ykp0aEFRX3YwWUN4ekVlRzExSEkxWXdLTmZ2YVlmRHkwbXNKNmF6RTNFQ01COEVHc0YzTlJ0SjAiLCJpc3MiOiJodHRwczovL2xvZ2luLnNhbGVzZm9yY2UuY29tIiwiZXhwIjoxNTA4OTM1NjgwLCJpYXQiOjE1MDg5MzU1NjB9.JcOsILTOs3TF2sBgO4l_x6kN27By9XcFyT2MttiECpwH481jxeIEO4A0gKwO5JWvqkMDulqtRNR91XIAP9cj_sTUt4WAtnMzZ3le8Hy2mHeXhD2NjQqm0w5sVFBReqNW8FVlFgHzCRnJn8bA3Y9w8BQVGy815zXNpwrxrFRden4tXzhj6zzqznzlQjnbzWWd2MWp8AepbQF2Xt-IzCceIxbPK7CuIt3U7HciPfC_XoDQXXu3z7wKoySylZy2iHmmE3pBZvSobfO02bZW5pUcRI_YxOqOuWYZbpZsYumSL9RrU9TZ2W136ES2od-y8w_wyRL30ScHuktheWYplIDs_THosP1lBNISfXReAZiYL8T4SWFt7qORQmT3G9TELCBrPBefNdkDwo0tzRxrvOXYwEuHBVvmuRASh9SZZnVeaSpZDMBoOV_0H7XpbnbR1VolGzEjSgt-G_8oLX0ERc-IBoQDakhcU0aYp6re-ln_omrURbdBXadS4DhMQP-oFTsiYfq_fbPo_tCw_2a_kGpIKQHTTchvUaPcy27ghuDd_axXWw-rLTVgpT0kAAwsU3A7DF608L--KssGKgifcJsSCea3cKSMrL6M-k9yzA5bpCDOiU5mAEjBsd2ASI1UVrxhIMgqgS0ahlHzgHTondE31AAH7xLBO2oxswFzvGOXNKA","instance_url":"https://ap5.salesforce.com","id":"https://login.salesforce.com/id/00D7F0000001I8vUAE/0057F000000l2bgQAA","token_type":"Bearer","issued_at":"1508935560200"}
Could not access resource: 401 [{"message":"Session expired or 
invalid","errorCode":"INVALID_SESSION_ID"}]
{code}


The code which I used

{code:java}
private String getAccessToken(String authorizationCode) throws 
OAuthSystemException, OAuthProblemException {
                OAuthClientRequest request = OAuthClientRequest
                                .tokenLocation(ACCESS_TOKEN_URL)
                                .setGrantType(GrantType.AUTHORIZATION_CODE)
                                .setClientId(CLIENT_ID)
                                .setClientSecret(CLIENT_SECRET)
                                .setRedirectURI(REDIRECT_URL)
                                .setCode(authorizationCode)
                                .buildQueryMessage();

                //create OAuth client that uses custom http client under the 
hood
                OAuthClient oAuthClient = new OAuthClient(new 
URLConnectionClient());

                OAuthAccessTokenResponse oAuthResponse = 
oAuthClient.accessToken(request);

                System.out.println("POSTING: "+request.getBody());              
    
                System.out.println("Received ACCESS_TOKEN: [ 
"+oAuthResponse.getAccessToken() + "]");
                System.out.println("Received EXPIRES_IN: [ 
"+oAuthResponse.getExpiresIn() + "]");
                System.out.println("Refresh Token : [" + 
oAuthResponse.getRefreshToken() + "]");

                System.out.println(oAuthResponse.getBody());

                request= new 
OAuthBearerClientRequest("https://ap5.salesforce.com/services/data/v40.0/";).
                                setAccessToken(oAuthResponse.getAccessToken()).
                                buildBodyMessage();


                OAuthClient client = new OAuthClient(new URLConnectionClient());
                OAuthResourceResponse resourceResponse= 
client.resource(request, "GET", OAuthResourceResponse.class);

                if (resourceResponse.getResponseCode()==200){                   
                        logger.debug("HTTP OK");
                        System.out.println(resourceResponse.getBody());
                        return resourceResponse.getBody();
                }
                else{
                        System.out.println("Could not access resource: " + 
resourceResponse.getResponseCode()+ " " + resourceResponse.getBody());
                        return null;
                }
        }
{code}
 

> OAUTH_APPROVAL_ERROR_GENERIC : An unexpected error has occured during 
> authentication. Please try again in salesforce integration ?
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OLTU-210
>                 URL: https://issues.apache.org/jira/browse/OLTU-210
>             Project: Apache Oltu
>          Issue Type: Bug
>            Reporter: Prateek
>
> I am working on the Spring MVC + Apache Oltu  +Salesforce Integration 
> Example. I got the ClientId and Client Secrete from the salesforce Connected 
> App. Now I am not sure on the below error.
> IMP: Why "authorizationCode" is comming null  from salesforce? What all 
> scopes can be set like setScope("full,refresh_token")??
> What API do we need to used like here we can used for GITHUB ?
> {code:java}
> GitHubTokenResponse oAuthResponse = oAuthClient.accessToken(request, 
> GitHubTokenResponse.class);
> {code}
> What OAuthBearerClientRequest can be used like below ?
> {code:java}
> request= new 
> OAuthBearerClientRequest("https://ap5.salesforce.com/5007F000000nxss";).
>                               setAccessToken(oAuthResponse.getAccessToken()).
>                               buildQueryMessage();
> {code}
> [OAUTH_APPROVAL_ERROR_GENERIC : An unexpected error has occured during 
> authentication. Please try again.]
> I am using the below code:-
> {code:java}
> private static final String AUTHORIZATION_URL = 
> "https://login.salesforce.com/services/oauth2/authorize";;
>       private static final String CLIENT_ID = 
> "3MVG9d8..z.hDcPJZPIzGJ5UZDqJOJY.3R6RBM8sJAF8XXXXXXXXXXXXXXXXXXXXXX";
>       private static final String CLIENT_SECRET = "375066XXXXX";
>       private static final String REDIRECT_URL = 
> "http://localhost:8080/apache-oltu/salesforce/redirect";;
>       //private static final String ACCESS_TOKEN_URL = 
> "https://login.salesforce.com/services/oauth2/token";;
>       private static final String ACCESS_TOKEN_URL = 
> "https://ap5.salesforce.com/services/oauth2/token";;
>       @RequestMapping(value = "/auth", method = RequestMethod.GET)
>       public String authenticate() throws OAuthSystemException {
>               OAuthClientRequest request = OAuthClientRequest
>                               .authorizationLocation(AUTHORIZATION_URL)
>                               .setClientId(CLIENT_ID)
>                               .setRedirectURI(REDIRECT_URL)
>                               .setResponseType("code")
>                               .setScope("full,refresh_token")
>                               .buildQueryMessage();
>               return "redirect:" + request.getLocationUri();
>       }
>       @RequestMapping(value = "/redirect", method = RequestMethod.GET)
>       public HttpEntity<String> redirect(
>                       @RequestParam(value = "token", required = false) String 
> code) throws OAuthSystemException, OAuthProblemException {
>               String value = "UNKNOWN";
>               if (code != null && code.length() > 0) {
>                       String details = getAccessToken(code);
>                       value = details;
>               }
>               return new ResponseEntity<String>(value,HttpStatus.OK);
>       }
>       private String getAccessToken(String authorizationCode) throws 
> OAuthSystemException, OAuthProblemException {
>               OAuthClientRequest request = OAuthClientRequest
>                               .tokenLocation(ACCESS_TOKEN_URL)
>                               .setGrantType(GrantType.AUTHORIZATION_CODE)
>                               .setClientId(CLIENT_ID)
>                               .setClientSecret(CLIENT_SECRET)
>                               .setRedirectURI(REDIRECT_URL)
>                               .setCode(authorizationCode)
>                               .buildBodyMessage();
>               //create OAuth client that uses custom http client under the 
> hood
>               OAuthClient oAuthClient = new OAuthClient(new 
> URLConnectionClient());
>               GitHubTokenResponse oAuthResponse = 
> oAuthClient.accessToken(request, GitHubTokenResponse.class);
>               System.out.println(oAuthResponse.getBody());
>               request= new 
> OAuthBearerClientRequest("https://ap5.salesforce.com/5007F000000nxss";).
>                               setAccessToken(oAuthResponse.getAccessToken()).
>                               buildQueryMessage();
>               OAuthClient client = new OAuthClient(new URLConnectionClient());
>               OAuthResourceResponse resourceResponse= 
> client.resource(request, "GET", OAuthResourceResponse.class);
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to