RingCentral JavaScript SDK处理重定向URI指向本地JavaScript函数
根据Doc,他们提供选项
RingCentral.SDK.handleLoginRedirect()
但不知道如何使用
var SDK = require('ringcentral');
rcsdk = new SDK({
server: SDK.server.sandbox,
appKey: '_app_key',
appSecret: 'app_password',
redirectUri: ''
})
function handleredirectURI(){
//handle redirections
}
我们需要指出我们的handleredirectURI
功能
提前致谢
答案 0 :(得分:1)
根据文档。背景是三条腿的oAuth。这是一个演示:https://github.com/ringcentral/ringcentral-demos-oauth/tree/master/javascript
然而,该演示并未使用handleredirectURI
方法。这意味着该方法只是一种实用方法,并不需要使用它。
对于handleredirectURI
的使用,我会在稍后回来更新我的答案。
<强>更新强>
以下是handleredirectURI
:https://github.com/ringcentral/ringcentral-js/blob/669b7d06254d3620c5a5f24c94b401aa862be948/src/SDK.js#L115-L124
您可以看到该方法解析win.location
以获取一些有用的数据,并postMessage
返回其开启者。
handleredirectURI
的单元测试:https://github.com/ringcentral/ringcentral-js/blob/669b7d06254d3620c5a5f24c94b401aa862be948/src/SDK-spec.js#L27-L63
更新2
我看了handleredirectURI
&#39;源代码,单元测试,示例代码再次,我认为它的用法就像它的文档中所写的那样:
弹出设置
当您的应用在第三方网站上呈现为小部件时,此设置很有用。
如果您只想在弹出窗口中打开RingCentral登录页面,可以在应用程序的登录页面中使用以下简写:
var platform = rcsdk.platform();
var loginUrl = platform.loginUrl({implicit: true}); // implicit parameter is optional, default false
platform
.loginWindow({url: loginUrl}) // this method also allows to supply more options to control window position
.then(function (loginOptions){
return platform.login(loginOptions);
})
.then(...)
.catch(...);
在这种情况下,您的目标网页(Redirect URI指向的目标网页)需要调用以下代码:
RingCentral.SDK.handleLoginRedirect();
解释:
如果您有更多问题,请与我们联系。