Spring MVC Apache Oltu和Salesforce Integration示例OAUTH_APPROVAL_ERROR_GENERIC:身份validation期间发生了意外错误

我在这里扩展问题: java.io.IOException:服务器返回HTTP响应代码:411为URL:https://login.live.com/oauth20_token.srf?code =

我正在开发Spring MVC + Apache Oltu + Salesforce Integration示例。 在此示例中,我在salesforce中创建了连接的App,如下所示:

在这个例子中,我在下面使用:

  • ACCESS_TOKEN_URL =“ https://login.salesforce.com/services/oauth2/token ”
  • AUTHORIZATION_URL =“ https://login.salesforce.com/services/oauth2/authorize ”;

什么是OAuthBearerClientRequest请求? 和Github一样,我使用过https://api.github.com/user 。 salesforce的URL是什么?

这是从我的代码调用:

https://login.salesforce.com/services/oauth2/authorize?scope=full&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapache-oltu%2Fsalesforce%2Fredirect&client_id=3MVG9d8..z.hDcPJZPIzGJ5UZDqJOJY.3R6RBM8sJAF8PyTtdTE.DDBnScvPEbcbUmaZ1HQjYItOLpnjY4JHL

但授权中没有任何内容。

例如: OAuthBearerClientRequest for

  • Linkedin – https://api.linkedin.com/v1/people/~?oauth2_access_token=
  • Facebook – https://graph.facebook.com/me/friends
  • Github- https://api.github.com/user //api.github.com/user

什么是销售人员?

此URL也没有我想要的信息: https : //developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com#Obtaining_an_Access_Token_using_a_SAML_Bearer_Assertion 。

在此处输入图像描述

如果有人需要代码供参考,请告诉我。

在此处输入图像描述

我看到的错误::

 error=redirect_uri_mismatch&error_description=redirect_uri%20must%20match%20configuration 

在此处输入图像描述

这里提到的问题: https//issues.apache.org/jira/browse/OLTU-210

我只是得到了以下细节,仍然希望它能够正常运行

了解OAuth端点OAuth端点是用于向Salesforce发出OAuth身份validation请求的URL。

在应用程序中发出身份validation请求时,需要使用正确的Salesforce OAuth端点。 主要OAuth端点是:

  • 授权: https //login.salesforce.com/services/oauth2/authorize
  • 对于令牌请求: https //login.salesforce.com/services/oauth2/token
  • 要撤消OAuth令牌: https //login.salesforce.com/services/oauth2/revoke

所有端点都需要安全的HTTP(HTTPS)。 每个OAuth流都定义了您需要使用的端点以及您需要提供的请求数据。 如果要validation沙箱组织上的身份validation,请在上面列出的所有OAuth端点中使用“test.salesforce.com”而不是“login.salesforce.com”。

当我花了两周时间时,我将以下详细信息作为URL的一部分:

HTTP://本地主机:8080 /阿帕奇-oltu /销售队伍/重定向#=的access_token%00D7F0000001I8v&21ARgAQH3Ezr9dXMN2oOwedXsecQOJnNz7fzd8J0b1rv_WGJMLdjntGejARCflNHezO3Jx2EzQ3NCXU5N.9kd3XfIYJsoHuaxo = refresh_token&5Aep8613hy0tHCYdhxJMolioLtSyVWkdY.qjUQIKBDHpKUfFk5dQNWdtRroZqaoeSCMWjemMlechS_MfTRBEYRs = instance_url HTTPS%3A%2F%2Fap5.salesforce.com&ID = HTTPS%3A%2F%2Flogin.salesforce。 COM%2Fid%2F00D7F0000001I8vUAE%2F0057F000000l2bgQAA&issued_at = 1508009229818&签名= cxOV7F68pvAfoeLZUw1hmZDEx1JKcnFWfpN8dutFPvo%3D&范围= API +幅+全+ refresh_token&token_type =承载

我能够解决问题,现在我也获得了authorizationCode,它再次获取access_tokenrefresh_token等。

 { "access_token":"00D7F0000001I8v!ARgAQDvQR1L4XtPVlSzgBQWwN7vi6an6wp2yVa2E.QeCuJFDmWfjU8UKJnZCY0hNHcISEj4u7aHTzTXKPrZwFO7e_2PjilYY", "refresh_token":"5Aep8613hy0tHCYdhxJMolioLtSyVWkdY.qjUQIKBDHpKUfFk7DxakBkr.fqMfwxgDn5GuOHbU8EWoeGkNma4kJ", "signature":"KggDhRHjf3/wmU85Cuz5HPriXpvZ7+9nyVMlwFWoizE=", "scope":"refresh_token api full", "id_token":"eyJraWQiOiIyMTAiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiYmdveG9KR0k4S1BGa1FvVlU1WlNJUSIsInN1YiI6Imh0dHBzOi8vbG9naW4uc2FsZXNmb3JjZS5jb20vaWQvMDBEN0YwMDAwMDAxSTh2VUFFLzAwNTdGMDAwMDAwbDJiZ1FBQSIsImF1ZCI6IjNNVkc5ZDguLnouaERjUEpaUEl6R0o1VVpEckw3Ykp0aEFRX3YwWUN4ekVlRzExSEkxWXdLTmZ2YVlmRHkwbXNKNmF6RTNFQ01COEVHc0YzTlJ0SjAiLCJpc3MiOiJodHRwczovL2xvZ2luLnNhbGVzZm9yY2UuY29tIiwiZXhwIjoxNTA4MDExNDA5LCJpYXQiOjE1MDgwMTEyODl9.gvzr9Eq5QpYmG3s8daf55ey9GP9O2SvBN_3LpmlDB334pS6cLzHZrq6Z-zH6mXmgNAD7OEyVhPVLlsm5Ln2iOPC3AtfFhadyGNHrtbwxG9GtaiCoTwsBQ7dtyx5fytZBQnDrKJ6EoshduJkRDbC9GzuBVjGU0dAluqiC8A_BoX4DJcbCetXwk4bS1MTaf7IJNYceZhsIbgaq1y7CBIwYtlJHLURbrct6hkPFQc65zPAZB6_SZD0uifFRptp52VEelJ0GKC03PvzAgPw2ofaoWkdq5f7pdAZQRpPUDCKcplB3whc4vk0fk5uMacDnJBNNRkds3SjKvx3X0Qg0pE0xm5ISac20WhEYzeDVtqmBeqqVes0ZFIC5t3hewWmrLicCAedaAWuKK5LnpKdhYoClw8Hmtt5y_ewf34TbSuzc6mQ9O6fMNs4nDBr5_20LuPC6Z5rPXb-GKNONAySa8rcLAB4hcRimWBLVMhrKFIcLc2WLYd1OvqgnoKc6gMh76_Ibha0R8veORbusgd9AYJoQEsPed5-LzFrczP0DX-PHD9NGOsT5b2t9daxy8sZ3t_vfo__6GCYG_Lq-Ee0JOEWaemHp6P6a8OTSufQkXiiYdAwe2iSHi1mF457mZhGR9f_IJzUFXzHF8lY8q6LGZI2uLOfFJX4qYFt3Cj6RXbIP4hQ", "instance_url":"https://ap5.salesforce.com", "id":"https://login.salesforce.com/id/00D7F0000001I8vUAE/0057F000000l2bgQAA", "token_type":"Bearer", "issued_at":"1508011289104" } 

现在我只关心使用OAuthBearerClientRequest API需要调用什么?

范围参考URL: https : //help.salesforce.com/articleView?id = remoteaccess_oauth_scopes.htm&type = 0

我遇到了OAuthBearerClientRequest API的问题,不知道为什么。 这里提出一个问题: 无法访问资源:401 [{“message”:“Session expired or invalid”,“errorCode”:“INVALID_SESSION_ID”}] – 仅适用于RestClient插件 。

同样我使用RestTemplate实现它工作正常。 在此处输入图像描述