开始

该指南将概述的所有步骤需要与摩根士丹利(Morgan Stanley)集成api。raybet炉石传说下表列出了不同的环境,可用于集成。

开发人员门户

开始尝试使用模拟数据api的集成。只有通过开发人员门户。

api-sandbox.morganstanley.com

UAT

使用UAT测试端到端集成数据

api-uat.morganstanley.com

生产

摩根士丹利(Morgan Stanley)连接和集成apiraybet炉石传说

api.morganstanley.com

建立一个客户机应用程序

连接到摩根士丹利(Morgaraybet炉石传说n Stanley)的API提供的OAuth2授权框架使用。我们目前只支持客户端证书授予,供客户端拥有应用程序使用代表自己的表演。

提出知识

注册客户端应用程序之前,摩根士丹利(Morgan Stanley)建议您了解OAuth2协议和术语。raybet炉石传说

微软的OAuth2客户机证书授予描述如何使用微软Azure平台身份。

注册客户端应用程序

摩根士丹利(Morgan Sraybet炉石传说tanley)来访问API和使用客户端证书授予应使用一个RSA密钥对(我们的身份合作伙伴,微软目前不支持椭圆曲线签名)。应该生成一个新的私钥为每个客户机应用程序。

然后使用私钥来创建一个签署了JWT断言(签署声称标识应用程序)。断言是用于验证您的应用程序(OAuth2客户机)的OAuth令牌服务。令牌服务响应与一个访问令牌,用于访问摩根士丹利(Morgan Stanley)的api。raybet炉石传说

重要:私钥标识应用程序和它保持安全是你的责任。如果你打开自己泄露给他人冒充您的应用程序身份可以花费你经济上和声誉

验证应用程序,要求提供公钥是摩根士丹利(Morgan Stanley)来验证签署声明。raybet炉石传说公钥是由使用私钥生成一个自签名证书。与客户相关联的证书是由摩根士丹利(Morgan Stanley)应raybet炉石传说用程序配置。证书提供了一个包装的公钥,失效时间等元数据。

没有必要使用公共证书颁发机构签署证书

这个证书可以邮件到摩根士丹利(Morgan Stanley)与您的应用raybet炉石传说程序。证书是公开的,如果拦截带来任何安全风险。

一种生成一个私钥和一个公共证书是这样的

生成的私钥

可以添加您的私钥密码。这个示例并不添加密码

openssl genrsa治疗private_key。pem 4096

这将生成一个4096位的RSA私钥。

重要:保持安全不分享它

生成自签名证书

注意在下面你将需要设置的天数需要作为一个整体的证书是有效的。

openssl点播- x509关键private_key。pem治疗public_key。cer天< days-to-expiry > -sha512主题“/ CN = myapp”

这将创建一个证书使用SHA512消息摘要

电子邮件摩根raybet炉石传说士丹利(Morgan Stanley)公共证书

电子邮件这public_key.cer你的摩根士丹利(raybet炉石传说Morgan Stanley)和国家环境,你想接触集成(UAT /刺激)。

自助服务证书管理的细节请告诉你摩根士丹利(Morgan Stanley)接触。raybet炉石传说

等待你的client_id证书和印章

你将收到从你独特的摩根士丹利(Morgan Stanley)联系raybet炉石传说client_id和上传证书指纹。

很重要的是,你验证这个拇指指纹匹配public_key.cer拇指指纹。要做到这一点,你可以创建一个拇指指纹通过运行以下证书:

openssl x509——public_key。cer指纹-noout

确认这个匹配指纹被送到你的摩根士丹利(Morgan Stanley)接触。raybet炉石传说这证实了自己和摩根士丹利(Morgan Stanley)同意将使用的关键。raybet炉石传说

创建一个应用程序

创建了两个示例应用程序,可用于开始使用。

这个示例使用了金桥工具是一个开源的和可用的https://github.com/stedolan/jq

可以执行curl请求API端点。第一次下载generate-client-assertion.sh并确保它运行时可用下面的请求:

#设置查询的变量
client_id = " # # # # # # # # - # # # # # # # # - # # # # # # # # # # # # # # # #”
private_key_file = " C: \ Client-instructions \ new-test-keys \ private_key.key”
public_cer_file = " C: \ Client-instructions \ new-test-keys \ public_key.crt”
范围= " <范围从接触> "

#创建所需的断言标记获得一个访问令牌
令牌=(美元。/ generate-client-assertion。sh client_id private_key_file public_cer_file美元)美元

#请求的访问令牌Azure广告令牌端点
ACCESS_TOKEN = $ (curl https://login.microsoftonline.com/api.morganstanley.com/oauth2/v2.0/token - d - d client_id = $ = $范围范围client_id - d client_assertion_type = urn: ietf:参数:oauth: client-assertion-type: jwt-bearer - d client_assertion = ${牌}- d grant_type = client_credentials |金桥——原始输出“.access_token”)

#发送请求API
curl - x - v,头“授权:无记名ACCESS_TOKEN美元”——头”application / json接受:“https://api.morganstanley.com/hello/services”