腾讯云市场应用

最近更新时间:11/9/2023, 4:23:56 PM作者:andrewren(任豪)

腾讯云市场应用

准备工作

完成云市场Saas商品自动交付接入

注意

需要在创建实例接口做下云市场发货参数适配。具体详细阅读云市场发货参数适配部分。

商品导入

服务商提供云市场录入商品ID给产品负责人,产品负责人联系地市云侧负责人进行tencent端录入。

地市云侧上架

联系地市云侧人员进行SP上架应用。

img

门户页侧购买

img

创建实例接口调试

门户页购买成功后,会调用创建实例接口,此时会携带SSOInfo信息带给第三方应用,如下所示:

物料 说明
client_id 客户端标识,用于表示合作方应用在此租户下的唯一标识。
client_secret 客户端密钥,和client_id一一对应。
authorize_uri 登陆地址,合作方应用未登录时需要重定向到此地址发起登陆授权请求。
token_uri 请求令牌地址,合作方应用使用一次性授权码获取用户访问令牌。
userinfo_uri 获取用户信息地址,合作方应用使用令牌获取用户详细信息。

应用侧提供如下信息

物料 说明
redirect_uri 回调URI,用于接收玉符发出的授权码。
initiate_login_uri 在某些情况下,玉符需要主动发起登陆请求,此路由需要重定向到玉符的authorize_uri。

如何进行配置信息的交换

在购买应用时,地市云侧会通过云市场实例创建通知接口进行信息交换,该接口有扩展字段可以传递额外信息。此时由地市云会传递到第三方应用。具体接口与如何传参,见下文云市场发货参数适配-请求体部分。

应用侧提供信息在第三方响应实例创建通知接口时,须由应用侧传递至地市云。具体接口与如何传参,见下文云市场发货参数适配-响应体部分。

地市云侧玉符接入

应用侧获取到上述信息后,联系玉符侧同事王衡进行地市侧玉符接入。具体方案查看实例中心-腾讯云应用部分。

云市场发货参数适配

注意:

此部分将完成玉符OIDC应用的配置,将“准备工作”的信息进行交换。

地市云、云市场、idaas、服务商四方实例创建流程(服务商仅需关心实线箭头部分):

img

甄选应用按照云市场实例创建通知接口进行发货,需要对请求体响应体中参数做额外处理。其他接口及流程按照云市场接口规范执行。

请求体

​ 地市云将会在extendInfo.comment.SSOInfo的参数中传递免登相关参数,将其与当前第三方应用实例(租户)绑定。SSOInfo免登参数包含在发货接口request body示例中。根据SSO免登协议对接,将SSOInfo与第三方应用的实例绑定,处理方式同SSO免登协议对接中的免登信息,可先咨询玉符侧对接同学。

云市场创建实例通知接口

img

发货接口request body示例

{
    "action":"createInstance",
    "orderId":"20170109199524",
    "accountId":"123545678",
    "openId":"xz_D4XL_u7hKY5zt",
    "productId":1024,
    "requestId":"fab8a029-22fa-41b1-ac08-5cdde878ed04",
    "productInfo":{
        "productName":"云服务市场测试商品",
        "isTrial":"false",
        "spec":"普通版",
        "timeSpan":2,
        "timeUnit":"m"
    },
    "extendInfo":{
        "comment":"{\"ApplicationID\":\"ai-6955fca827ce4c038367c0dd44a1ed7f\",\"BuyCorpId\":\"566388998075843577\",\"BuyUserId\":\"566388998075843577\",\"LoginType\":\"oidc-idaas\",\"RegionName\":\"chongqing\",\"Source\":\"Cloud-Industry\",\"SSOInfo\":\"{\\\"ClientId\\\":\\\"ai-6955fca827ce4c038367c0dd44a1ed7f\\\",\\\"ClientSecret\\\":\\\"1kB51XwMS6hYrWsPan5r9Brx\\\",\\\"AuthorizationEndpoint\\\":\\\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-6955fca827ce4c038367c0dd44a1ed7f/oidc/authorize\\\",\\\"TokenEndpoint\\\":\\\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-6955fca827ce4c038367c0dd44a1ed7f/oidc/token\\\",\\\"UserInfoEndpoint\\\":\\\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-6955fca827ce4c038367c0dd44a1ed7f/oidc/userinfo\\\",\\\"WellKnownEndpoint\\\":\\\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-6955fca827ce4c038367c0dd44a1ed7f/oidc/.well-known/openid-configuration\\\",\\\"JwksUri\\\":\\\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-6955fca827ce4c038367c0dd44a1ed7f/oidc/jwks.json\\\"}\"}"
    }
}

将comment去除转义之后:

{
    "ApplicationID":"ai-1d1958c456584837a8081aac1bd7264c",//实例唯一标识
    "BuyCorpId":"566388998075843577",// 购买者公司id
    "BuyUserId":"566388998075843577",// 购买者id
    "LoginType":"oidc-idaas",    //实例类型
    "RegionName":"chongqing", //购买地市信息,标识来源地市云下某局点
    "Source":"Cloud-Industry",//来源-地市云(固定),标识来源为地市云
    "SSOInfo":"{\"ClientId\":\"ai-1d1958c456584837a8081aac1bd7264c\",\"ClientSecret\":\"SURmMmUjaX3Wy9lUTZOdVIrD\",\"AuthorizationEndpoint\":\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-1d1958c456584837a8081aac1bd7264c/oidc/authorize\",\"TokenEndpoint\":\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-1d1958c456584837a8081aac1bd7264c/oidc/token\",\"UserInfoEndpoint\":\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-1d1958c456584837a8081aac1bd7264c/oidc/userinfo\",\"WellKnownEndpoint\":\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-1d1958c456584837a8081aac1bd7264c/oidc/.well-known/openid-configuration\",\"JwksUri\":\"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-1d1958c456584837a8081aac1bd7264c/oidc/jwks.json\"}"  // SSO-OIDC免登信息
}

将SSOInfo去除转义之后:

{
  "ClientId":"ai-26893c09e06e43a89f366462278c3d40",
  "ClientSecret":"4LXS9yKpLdNiZONK9ohRmR5k",
  "AuthorizationEndpoint":"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-26893c09e06e43a89f366462278c3d40/oidc/authorize",
  "TokenEndpoint":"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-26893c09e06e43a89f366462278c3d40/oidc/token",
  "UserInfoEndpoint":"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-26893c09e06e43a89f366462278c3d40/oidc/userinfo",
  "WellKnownEndpoint":"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-26893c09e06e43a89f366462278c3d40/oidc/.well-known/openid-configuration",
  "JwksUri":"https://566388998075843577-idp.cig.tencentcs.com/sso/tn-fc24c53fd8e24ac8b284212a876010b4/ai-26893c09e06e43a89f366462278c3d40/oidc/jwks.json"
}

响应体

​ 在创建实例接口的response body的additionalInfo参数中增加单点登陆URL回调URI返回参数。

云市场创建实例通知接口

img

发货接口response body示例

{
    "signId":"36441d902ba",
    "appInfo":{
        "website":"http://www.example.com",
        "authUrl":"http://www.example.com/oauth/login"
    },
    "additionalInfo":[
        {
            "name":"SSOLoginURL",    //单点登陆URL
            "value":"http://www.example.com/ssoLoginUrL"
        },
        {
            "name":"RedirectURI", //回调URI
            "value":"http://www.example.com/oauth/RedirectURI"
        }
    ]
}