使用OAuth 2.0构建销售应用程序-第3部分:设置OAuth 2.0
在前面的教程中,您设置了应用程序位置,然后在Zendesk Sell实例中安装了私有应用程序。亚博应用程序只显示一个模板示例。在本教程中,您将实现OAuth授权流。
亚博Zendesk应用程序无权自行使用第三方服务。在大多数情况下,您需要实现OAuth。OAuth是一个开放的标准,它允许应用程序从第三方服务的用户那里获得代表用户访问服务的权限。
应用程序框架只支持授权码授权流程Mailchimp支持这个流程。了解更多Mailchimp的OAuth 2工作流.
本教程涵盖以下任务:
本教程是构建Zendesk应用程序系列的一部分:亚博
- 第1部分:打基础
- 第2部分:在Zendesk Sell中安装应用程序亚博
- 第3部分:OAuth 2.0设置-你在这里
- 第4部分:在Mailchimp中创建受众
- 第5部分:从Mailchimp API获取数据
创建Mailchimp帐户
如果您没有Mailchimp帐户,您可以创建一个新帐户.选择免费计划,在本教程中,该计划允许您创建单个受众。
在Mailchimp上注册应用
遵循Mailchimp的指令注册你的私人应用程序。你需要提供以下信息:
- OAuth客户端的重定向URI
https://zis.亚博zendesk.com/api/services/zis/connections/oauth/callback
.有关更多信息,请参见管理第三方OAuth访问令牌在应用程序开发者指南中 - 项目文件夹中的徽标(/ dist /资产/ logo.png)或选择你自己的标志
成功注册应用程序后,您将看到client_id而且client_secret在这一页的底部。每个应用程序都被分配了一个唯一的客户端ID(也称为消费者密钥或API密钥)和客户端机密。注意这些值,因为它们将被添加到应用程序的配置文件中。
请注意:你的客户端秘密保护你的应用程序的安全性,所以把它放在一个安全的地方。不与任何人分享你的客户秘密。
在清单文件中配置OAuth
由于您现在拥有OAuth凭据,因此必须在清单文件中指定OAuth详细信息。这使得用户可以在应用程序安装过程中通过OAuth授权流程。
配置OAuth
在应用程序项目文件夹中,打开清单文件(dist / manifest.json)在代码编辑器中。
下
oauth
将"{your_client_id}"和"{your_client_secret}"替换为在Mailchimp中注册应用时提供的客户端id和客户端机密凭证。输入以下值
authorize_uri
而且access_token_uri
如下图所示:“oauth”:{
“client_id”:“{your_client_id}”,
“client_secret”:“{your_client_secret}”,
“authorize_uri”:“https://login.mailchimp.com/oauth2/authorize”,
“access_token_uri”:“https://login.mailchimp.com/oauth2/token”
}
它们由Mailchimp定义。有关更多信息,请参见在您的服务器上实现OAuth 2工作流在Mailchimp文档中。
向参数列表中添加参数
的名字
“访问令牌”和类型
“oauth”:“参数”:[
{
“名称”:“access_token”,
“类型”:“oauth”
}
]
OAuth工作流使用访问令牌代表进行身份验证的用户发出请求。OAuth参数用于访问应用程序中的OAuth访问令牌。它的工作原理类似于安全设置.它可以防止用户在浏览器控制台中访问敏感数据。令牌被插入到代理层的服务器端。
一旦获得了访问令牌,就可以通过在HTTP调用中包含授权标头,代表用户发出经过身份验证的API请求。你可以使用OAuth和App框架向第三方产品发出请求client.request ()
方法。你使用占位符{{setting.access_token}}
匹配的名字
中的OAuth参数manifest.json文件和安全
属性设置为“true”。例子:
常量客户端=ZAFClient.初始化()
常量设置={
url:“https://www.example.com/api/user”,
头:{“授权”:“不记名{{setting.access_token}}”},
安全:真正的,
类型:“得到”,
数据类型:json的,
contentType:“application / json”
}
客户端.请求(设置).然后(...)
Zend亚博esk代理服务器将拦截传出请求并替换{{setting.access_token}}
带有编码令牌的占位符。
至此,您已经设置了OAuth。
在Sell中上传更新的应用程序
接下来,您将通过再次构建应用程序并在Sell中更新现有安装来测试OAuth设置。
上传更新后的app
在命令行界面中,执行以下命令生成一个新的app zip文件:
运行构建
指在Zendesk Sell中上传并安装一个私人应用程序亚博来上传应用程序。但不要安装新的私有应用程序,而是找到现有的应用程序安装并选择更新从下拉选项菜单。
选择新的zip文件并单击上传.
在应用程序的设置下拉菜单中,单击改变设置选择。
通过OAuth流程完成安装过程。看到设置OAuth授权流.
设置OAuth授权流
下OAuth身份验证部分,系统会提示您设置OAuth。
在应用程序安装期间设置OAuth
点击链接使用{YOUR_APP_NAME}登录.
您将被重定向到authorize_uri:
https://登录.mailchimp的.com/oauth2/授权?response_type=代码&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI
OAuth服务器重定向到登录和授权提示符。
点击允许.
成功完成OAuth过程后,在OAuth身份验证部分。
打开Person卡,检查应用程序是否正常工作。
在本教程中,您将使用Mailchimp注册应用程序客户端,在应用程序中设置OAuth,在Sell中重新加载和测试应用程序。接下来,您在Mailchimp中创建受众,以便可以从我们的应用程序请求这些数据第4部分-在Mailchimp中创建受众.