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

时间:2017-09-26 21:50:55

标签: java salesforce oltu

我在此处提出问题:java.io.IOException: Server returned HTTP response code: 411 for URL: https://login.live.com/oauth20_token.srf?code=

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

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

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

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

什么是salesforce?

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

enter image description here

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

enter image description here

我看到的错误::

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

enter image description here

此处提及的问题: https://issues.apache.org/jira/browse/OLTU-210

1 个答案:

答案 0 :(得分:1)

我只提供以下详细信息,仍希望能够正常运行

了解OAuth端点 OAuth端点是您用于向Salesforce发出OAuth身份验证请求的网址。

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

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

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

  

http://localhost:8080/apache-oltu/salesforce/redirect#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&signature=cxOV7F68pvAfoeLZUw1hmZDEx1JKcnFWfpN8dutFPvo%3D&scope=api+web+full+refresh_token&token_type=Bearer

我能够解决问题,现在我也获得了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需要调用什么内容?

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

我遇到了OAuthBearerClientRequest API的问题,不知道为什么。这里提出了一个问题:Could not access resource: 401 [{"message":"Session expired or invalid","errorCode":"INVALID_SESSION_ID"}] - works only in RestClient plugin

我使用RestTemplate实现的功能相同。 enter image description here