IBMSBT XPages自定义端点Callback_uri vs redirect_uri

时间:2014-07-20 09:27:10

标签: oauth-2.0 xpages xpages-extlib ibm-sbt

我正在尝试在xpages中使用带有自定义端点的sbt,即使用com.ibm.sbt.services.endpoints.OAuth2Endpoint类在faces配置中定义的新端点

它生成的授权网址格式为 &安培; CLIENT_ID = XX&安培; callback_uri = XXX

然而,我正在尝试使用的api需要一个参数redirect_uri

查看OAuth2的规范,似乎使用redirect_uri而不是callback_uri。

是否有一个不同的端点类我可以使用redirect_uri代替auth处理程序? 注意:我搜索了源代码并且“OAUTH2_REDIRECT_URI”没有在任何地方使用,所以我猜不是,这让我觉得我误解了如何使用它

谢谢!

2 个答案:

答案 0 :(得分:1)

我在IBM Connect 2014的Basecamp演示应用程序中遇到了类似的问题。

我为此目的继承了新的endpointhandler

在处理程序类中,我必须重写getAuthorizationNetworkUrl()getAccessTokenForAuthorizedUser()方法来更改这些url参数。

当然,覆盖这些方法对未来可能并不安全。相反,您可能会获得原始URL并执行一些字符串操作来更改所需的参数。

@Override
public String getAuthorizationNetworkUrl() {
  String newUrl=super();
  // Do string operations
  return newUrl;
}

检查新版SBT是否需要更改。我希望它有所帮助。

答案 1 :(得分:0)

您可以使用SmartCloudOAuth2Endpoint,而不是普通的oauth2端点。此端点是SmartCloud的自定义端点,它使用redirect_uri

https://github.com/OpenNTF/SocialSDK/blob/cd373c78971bb31e1902f177eddcb33d029ae474/sdk/com.ibm.sbt.core/src/main/java/com/ibm/sbt/services/endpoints/SmartCloudOAuth2Endpoint.java