RingCentral JavaScript SDK处理重定向URI指向本地JavaScript函数的指向
根据文档,他们提供了选择
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
函数提前致谢
最佳答案
根据文档。上下文是三足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
的源代码,单元测试和示例代码,我认为其用法与文档中所写内容相同:
弹出设定
当您的应用在第三方网站上显示为小部件时,此设置非常有用。
如果您只想在弹出窗口中打开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(...);
在这种情况下,您的目标网页(重定向URI指向的目标网页)需要调用以下代码:
RingCentral.SDK.handleLoginRedirect();
解释:
运行第一个代码段以打开登录弹出窗口。
在“重定向到”页面中,运行第二个代码段(一行代码)以完成其他所有操作。
之后,授权部分完成,您可以调用其他API。
如果您还有其他问题,请告诉我。
关于javascript - RingCentral JavaScript SDK处理重定向URI点到本地JavaScript函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47815441/