首页 文章

您如何使用RingCentral API的持久凭据进行身份验证?

提问于
浏览
0

我被客户要求开发一个解决方案,涉及从Ring Central中提取呼叫信息 . 具体来说,我想 Build 一个Webhook,在呼叫进入时提取实时数据,然后使用呼叫日志同步进行夜间对帐 . 这是我使用RingCentral的第一个项目 .

RC文档并不完全清楚 . 我发现了这个信息:http://ringcentral-api-docs.readthedocs.io/en/latest/oauth/这意味着我需要注册为第三方开发者帐户,使用我自己的凭据,然后请求访问我的客户端's data every single time I need to pull anything. However, the solution I' m开发将由客户端拥有并在其服务器上运行,并且他们每天都要多次访问_325122 .

如何使用我的客户端凭据,或者我的客户端如何获得持久凭据,允许我对其数据进行非过期访问,以及如何使用这些凭据连接到API?

我将使用RC的REST API在Lucee和MySQL上使用CFML开发此解决方案 . 数据也将被发送到我的客户的主要业务系统Rent Manager .

2 回答

  • 0

    听起来您正在构建一个客户可以使用的应用程序 .

    由于您的应用是“公共”应用,用户和应用所有者位于不同的组织中,因此可以使用OAuth 2.0授权码流程 . RingCentral的OAuth 2.0解决方案附带一个访问令牌和刷新令牌对 . 默认情况下,访问令牌有效一小时,之后您可以使用刷新令牌获取一个新令牌(通过官方RingCentral SDK自动获取) . 默认情况下,刷新令牌的生命周期为1周 . 这意味着您的应用将具有1周的“空闲”时间,因此如果在1周内未进行API调用,则用户将需要进行身份验证,否则用户无需执行任何操作,该应用将继续工作,即使密码更改后也是如此 . 从安全角度来看,此解决方案的好处是用户的凭据永远不会传递到您的应用程序 .

    如果这种方法不适合您,请通过devsupport@ringcentral.com与我们的开发支持团队联系,讨论您的使用案例 .

  • 1

    在与四位代表交谈后,我从中学到了一些有用的东西,我花了几个小时做了反复试验,并通过文档进行搜索 . 最终我想出了如何做到这一点 .

    首先,不要创建免费的开发者帐户 . 您最终会看到一个升级帐户的屏幕,您最终会发现该帐户会使您的帐户与您尝试连接的现有RC帐户相同!首先,登录您正在开发应用程序的帐户以从中提取数据 .

    登录后,创建一个新应用程序并确保选择“仅服务器(无UI)”选项 . 这将使您的应用符合我们要使用的身份验证方法 . 如果您未选择此平台类型,则您的身份验证调用将失败 .

    之后,请按照"password flow"身份验证文档中的说明进行操作 . 目前详细报道https://developer.ringcentral.com/api-docs/latest/index.html?_ga=2.103110336.1372637327.1532456796-967119171.1528482913#!#RefPasswordFlow

    我在ColdFusion中的电话最终看起来像这样:

    <cfhttp method="POST" url="#application.RCserver#/restapi/oauth/token">
            <cfhttpparam type="header"          name="Content-Type"     value="application/x-www-form-urlencoded" />
            <cfhttpparam type="header"          name="Authorization"    value="Basic #ToBase64("#RCclientID#:#RCsecret#")#" />
            <cfhttpparam type="body"            value="grant_type=password&access_token_ttl=600&username=#RCuname#*#RCext#&password=#RCpword#">
        </cfhttp>
    

相关问题