免费注册
帮助文档(华北一、二)
  • 1.    概述

    本文档主要用来指导服务商开发者完成与浪潮云市场的单点登录对接,从而实现用户从浪潮云市场购买商品后免登录跳转到服务商应用中。

    2.    总体流程

    3.    服务商以单点登录方式上架商品

    卖家中心-上架商品

    服务商要在卖家中心以单点登录方式上架商品, 其中应用使用地址为单点登录跳转的地址,单点登录信息会以url参数的格式传递给服务商。

    4.    服务商开发对接

    当买家完成订单付款之后,如果是购买的以单点登录方式上架的商品,在买家中心-已购买服务列表中有 “前往使用 ”商品应用快捷入口,实现免登录方式跳转到商品应用。

    1)      获取跳转信息

    地址:{应用使用地址}

    ?source=yzAppMarket

    & order=XXXXXX

    &inspur_code =XXXXXX

    参数说明:

    应用使用地址:

       上一步服务商上架商品时填写地址。

    order:

    订单信息,需从URL获取后保存。

    inspur_code:

    身份识别code需从URL获取后保存。

    2)      调接口获取用户信息和订单购买信息

    URL

    https://cloud.inspur.com/market/api/Sso/getTokenData

    Method

    POST

    请求头参数

    Content-Type  application/json

    请求参数(body):

    inspur_code:上一步取得的inspur_code值

    order: 上一步取得的order值

    timeStamps:时间戳,取请求时间。(例: 1624244095508)

    sign:  校验信息,md5("authorize" + 服务商key值+ timeStamps),具体内容为("authorize" + 服务商key值+ timeStamps)经过md5加密后的32位加密数据, 服务商key值为在上架商品页面获得。  

    获取token响应为Json对象,内容如下:

    {
        "code": "0", 
        "message": "Success Request", 
        "result": {
            "order_data": {
                "id": "1664", 
                "order_id": "2021062110035330", 
                "supplier_id": "427", 
                "user_id": "5237", 
                "goods_id": "255431624239409398", 
                "spec_id": "30280", 
                "spec_price": "0.00", 
                "spec_amount": "0", 
                "create_time": "1624241033", 
                "goods_name": "测试单点登录", 
                "total_price": "0.00", 
                "pay_time": "1624241033", 
                "order_status": "delivered", 
                "remarks": "", 
                "status": "opened", 
                "goods_type": "sso,", 
                "pay_type": "线上支付", 
                "appId": null, 
                "appUrl": null, 
                "hostid": null, 
                "hostname": null, 
                "expireddate": "2021-07-21 10:03:53", 
                "instanceid": null, 
                "pay_status": "paid", 
                "is_special": "0", 
                "special_goods_desc": null, 
                "subcustomer_id": null, 
                "reviewed": "0", 
                "product_deliver_time": "2021-06-21 10:03:53", 
                "is_default_review": "0", 
                "is_check": "0", 
                "check_time": null, 
                "renewprice_id": null, 
                "order_type": null, 
                "topic_id": null, 
                "order_discount": null, 
                "application_amount": null, 
                "promotion": null, 
                "change_price": null, 
                "change_price_reason": null, 
                "supplementary_business_information": null, 
                "settlement_status": null, 
                "discount_code": null, 
                "makeout_invoice_price": null, 
                "invoice_info_id": null, 
                "source_of_business": null, 
                "link_key": "6a5f45a2ce4211eb90b3fa163eef4128", 
                "linkmanphone": "13311111111"
            }, 
            "user_data": {
                "uuid": "9492038d-044e-4d4a-9046-5928ae481f05", 
                "email": "test@qq.com", 
                "username": "yzhshow", 
                "phone": "13311111111"
            }
        }
    }

     

    其中包含用户信息user_data和订单信息order_data两部分。

    其中用户信息包括用户主键uuid,邮箱email,用户名username,手机号phone,

    订单信息包含用户在浪潮云市场下单和支付相关的信息。

    3)      匹配本地用户实现登录

    服务商根据上一步拿到的用户信息,实现登录。

    如果服务商有自己的用户体系,就需要将浪潮云市场用户与本地用户进行映射,根据接口获取浪潮云市场用户信息和订单信息后,根据映射关系可以进一步取得本地用户。可以根据手机号或者用户名匹配服务商本地用户列表,若匹配本地用户存在,可直接登录;若不存在建议先创建本地用户,然后再登录。

    登录后,直接构建本地安全上下文信息,如session或cookie等。

文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家