日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

用戶賬號(hào)開(kāi)發(fā)指南

更新時(shí)間:

生活物聯(lián)網(wǎng)平臺(tái)中支持使用內(nèi)置賬號(hào)體系,也支持集成您自己的賬號(hào)體系。您可以基于用戶賬號(hào)體系實(shí)現(xiàn)自有App開(kāi)發(fā)中的注冊(cè)、登錄、忘記密碼、登出、修改用戶信息等功能。同一個(gè)項(xiàng)目創(chuàng)建多個(gè)自有品牌App時(shí),App的賬號(hào)體系相通。

內(nèi)置賬號(hào)體系

內(nèi)置賬號(hào)體系為平臺(tái)提供的服務(wù)和能力,客戶端集成平臺(tái)賬號(hào)及用戶SDK即可使用。賬號(hào)及用戶SDK支持喚起登錄頁(yè)面,包括賬號(hào)注冊(cè)、登錄、登出、忘記密碼、多語(yǔ)言切換、修改頭像、修改昵稱(chēng)、注銷(xiāo)賬號(hào)等功能,并支持在此頁(yè)面基礎(chǔ)上修改UI風(fēng)格。詳細(xì)操作,請(qǐng)參見(jiàn)Android賬號(hào)及用戶SDKiOS賬號(hào)及用戶SDK。

說(shuō)明

如果您的App需發(fā)行到海外,建議您在App中實(shí)現(xiàn)以下內(nèi)容。

  • 郵箱注冊(cè):郵箱注冊(cè)更符合海外用戶使用習(xí)慣。

  • 多語(yǔ)言切換:當(dāng)前平臺(tái)支持多種語(yǔ)言,并持續(xù)添加中。

  • 注銷(xiāo)賬號(hào):由于海外嚴(yán)格的合規(guī)要求(如GDPR),App中需要提供注銷(xiāo)用戶的功能,注銷(xiāo)時(shí)需要?jiǎng)h除用戶的所有數(shù)據(jù)。

自有賬號(hào)體系

當(dāng)您擁有自己的賬號(hào)體系,可以將您自己的賬號(hào)體系和平臺(tái)關(guān)聯(lián),實(shí)現(xiàn)設(shè)備綁定關(guān)系、設(shè)備分享、設(shè)備消息推送等功能。您自己賬戶體系中的用戶信息不會(huì)保留在平臺(tái)上,保障您的用戶隱私信息。

自有賬號(hào)體系對(duì)接基于Oauth 2.0 API協(xié)議(代理用戶訪問(wèn)的授權(quán)開(kāi)放網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議,詳細(xì)介紹,請(qǐng)參見(jiàn)RFC定義參考文檔),請(qǐng)您按照以下步驟配置和開(kāi)發(fā)自有賬號(hào)對(duì)接功能。

  1. 進(jìn)入自有品牌App的用戶賬號(hào)配置頁(yè)面。

  2. 選擇自有賬號(hào)體系,并單擊設(shè)置

    image

  3. 配置自有賬號(hào)體系,并單擊確認(rèn)保存。

    其中訪問(wèn)/刷新URLGetuserinfoURL需廠商提供URL。

  4. 開(kāi)發(fā)自有賬號(hào)體系。

    根據(jù)以下流程圖完成開(kāi)發(fā)工作。

    流程圖

    詳細(xì)流程如下。

    1. 實(shí)現(xiàn)App登錄,并從App認(rèn)證服務(wù)中獲取當(dāng)前登錄用戶的AuthCode,并將AuthCode傳遞給SDK(SDK的使用方法,請(qǐng)參見(jiàn)賬號(hào)及用戶SDK(Android)賬號(hào)及用戶SDK(iOS)中的“三方自有賬號(hào)”內(nèi)容)。

      說(shuō)明

      App向App認(rèn)證服務(wù)(一般包含認(rèn)證登錄、頒發(fā)AuthCode、驗(yàn)證AuthCode、頒發(fā)token、驗(yàn)證token等)獲取AuthCode,該部分需您自行實(shí)現(xiàn)。一般實(shí)現(xiàn)中建議使用安全隨機(jī)數(shù)生成隨機(jī)字符串,并將申請(qǐng)的client_id與登錄賬號(hào)相關(guān)聯(lián),保證流程2中申請(qǐng)access_token時(shí)攜帶的AuthCode能且僅能使用一次。

    2. 生活物聯(lián)網(wǎng)平臺(tái)通過(guò)HTTP POST方式,向您的App認(rèn)證服務(wù)中發(fā)送請(qǐng)求來(lái)獲取token。

      該請(qǐng)求中含有參數(shù)client_id、AuthCodeclient_secret。對(duì)應(yīng)返回消息中需包含參數(shù)result_code、access_token、refresh_token

      說(shuō)明

      生活物聯(lián)網(wǎng)生活平臺(tái)賬號(hào)互聯(lián)的所有HTTP請(qǐng)求中,請(qǐng)求響應(yīng)內(nèi)容Content-Type需為application/json。

      • AuthCode換取access_token請(qǐng)求

        此處為OAuth 2.0標(biāo)準(zhǔn)token換取請(qǐng)求,以訪問(wèn)/刷新URL配置為https://test.net/api/users/oauth/token為例,示例如下。

        POST /api/users/oauth/token?grant_type=authorization_code&client_id=testxxx&client_secret=testxxxxx&code=test222224tD2fVtexxxxojFZL6&redirect_uri=none HTTP/1.1
        Host: test.net
        Content-Type: application/x-www-form-urlencoded

        請(qǐng)求字段

        類(lèi)型

        描述

        grant_type

        String

        授權(quán)類(lèi)型,固定為字符串authorization_code

        client_id

        String

        生活物聯(lián)網(wǎng)平臺(tái)頒發(fā)的AppKey

        client_secret

        String

        生活物聯(lián)網(wǎng)平臺(tái)頒發(fā)的AppSecret

        code

        String

        流程1中返回的AuthCode

        您的App認(rèn)證服務(wù)向生活物聯(lián)網(wǎng)平臺(tái)成功返回的示例如下。

        HTTP/1.1 200 OK
        Content-Type: application/json;charset=UTF-8
        Cache-Control: no-store
        Pragma: no-cache
        
        {
           "result_code":"0",
           "openid":"OPENID",
           "access_token":"2YotnxxxxMWpAA",
           "refresh_token":"tGzvxxxx2TlKWIA"
        }

        返回字段

        類(lèi)型

        描述

        result_code

        String

        • 0:成功

        • 100000:client_id或者client_secret無(wú)效

        • 100002:AuthCode換取access_token失敗

        • 100007:無(wú)效的授權(quán)碼

        • 110000:系統(tǒng)通用錯(cuò)誤代碼

        openid

        String

        用戶唯一標(biāo)識(shí)。

        access_token

        String

        授權(quán)的令牌。

        refresh_token

        String

        獲取新的access_token,自動(dòng)續(xù)期授權(quán)時(shí)需提供該參數(shù)。

        expires_in

        String

        access_token的有效期,單位為秒。

      • 刷新access_token請(qǐng)求

        POST /api/users/oauth/token?grant_type=refresh_token&client_id=testxx&client_secret=test2222&refresh_token=test222testaaaL6 HTTP/1.1
        Host: test.net
        Content-Type: application/x-www-form-urlencoded

        請(qǐng)求字段

        類(lèi)型

        描述

        grant_type

        String

        授權(quán)類(lèi)型,固定為字符串refresh_token。

        client_id

        String

        生活物聯(lián)網(wǎng)平臺(tái)頒發(fā)的AppKey。

        client_secret

        String

        生活物聯(lián)網(wǎng)平臺(tái)頒發(fā)的AppSecret。

        refresh_token

        String

        獲取access_token時(shí)返回的refresh_token。

        成功返回示例如下。

        HTTP/1.1 200 OK
        Content-Type: application/json;charset=UTF-8
        Cache-Control: no-store
        Pragma: no-cache
        
        {
          "result_code":"0",
          "openid":" OPENID",
          "access_token":"2YotnFxxxxsicMWpAA",
          "refresh_token":"tGzv3Jxxxx2TlKWIA"
        }

        返回字段

        類(lèi)型

        描述

        result_code

        String

        • 0:成功

        • 100000:client_id或者client_secret無(wú)效

        • 100003:refresh_token已經(jīng)過(guò)期或失效

        • 110000:系統(tǒng)通用錯(cuò)誤代碼

        openid

        String

        用戶唯一標(biāo)識(shí)。

        access_token

        String

        授權(quán)令牌。

        refresh_token

        String

        獲取新的access_token,自動(dòng)續(xù)期授權(quán)時(shí)需提供該參數(shù)。

    3. 通過(guò)流程2中獲取到的access_token,生活物聯(lián)網(wǎng)平臺(tái)向App用戶服務(wù)OpenId獲取用戶信息。

      App用戶服務(wù)即為App自有賬號(hào)體系內(nèi)自己的賬號(hào)體系管理服務(wù),一般包含基本的賬戶注冊(cè)、賬戶信息管理(此處須實(shí)現(xiàn)一個(gè)HTTP請(qǐng)求,通過(guò)OAuth token驗(yàn)證鑒權(quán)獲取用戶基礎(chǔ)信息)。

      URL示例為:https://thrid.com/sns/userinfo,請(qǐng)求方法為POST。

      請(qǐng)求示例如下。

      POST /api/users/oauth/userinfo?access_token=testaaaatest222a779537c6687c3 HTTP/1.1
      Host: testxx.net
      Content-Type: application/x-www-form-urlencoded

      請(qǐng)求字段

      類(lèi)型

      描述

      access_token

      String

      流程2中獲取到的access_token

      openid

      String

      用戶唯一標(biāo)識(shí)(非必填,如果您需要支持Google Assistant和Amazon Alexa的語(yǔ)音對(duì)接能力,此處需要設(shè)置成非必填參數(shù))。

      響應(yīng)示例如下。

      HTTP/1.1 200 OK
      Content-Type: application/json;charset=UTF-8
      Cache-Control: no-store
      Pragma: no-cache
      
      {
         "result_code": "0",
         "message": "成功",
         "openid":" OPENID", 
         "nick_name": "NICKNAME",
         "avatar_url": "image.com/xxxx.png",
         "gender": "1"
      }

      返回字段

      類(lèi)型

      描述

      result_code

      String

      • 0:成功

      • 100000:client_id或者client_secret無(wú)效

      • 100001:access_token過(guò)期

      • 100002:AuthCode換取access_token失敗

      • 100003:refresh_token已經(jīng)過(guò)期或失效

      • 100004:用戶修改密碼或者解除授權(quán)導(dǎo)致access_token失效

      • 100005:access_token非法

      • 100006:無(wú)效的OpenId

      • 100007:無(wú)效的授權(quán)碼

      • 110000:系統(tǒng)通用錯(cuò)誤代碼

      message

      String

      響應(yīng)結(jié)果描述。

      openid

      String

      用戶唯一標(biāo)識(shí)。

      nick_name

      String

      用戶的昵稱(chēng)。

      avatar_url

      String

      頭像URL地址。

      gender

      String

      用戶的性別,取值范圍如下。

      • 0:未知

      • 1:男性

      • 2:女性

自有賬號(hào)全球用戶接入

生活物聯(lián)網(wǎng)平臺(tái)提供全球統(tǒng)一的賬戶接入能力,當(dāng)有多個(gè)數(shù)據(jù)中心時(shí)會(huì)就近接入,從而達(dá)到最快接入響應(yīng)和合規(guī)能力支持。您的自有賬號(hào)系統(tǒng)只允許配置一個(gè)endpoint(即設(shè)置的URL的域名,在App賬號(hào)接入的token地址和getUSerInfo地址中獲?。H绻淖杂匈~號(hào)系統(tǒng)在全球具有多個(gè)數(shù)據(jù)中心,可以通過(guò)以下方法兼容多數(shù)據(jù)中心。

  1. 在區(qū)域認(rèn)證服務(wù)生成authCode時(shí),添加數(shù)據(jù)中心的標(biāo)志位。

    需要添加標(biāo)志位的地方有:AuthCode中、AuthCode交換生成的access_tokenrefresh_token中。

  2. 使用統(tǒng)一的endpoint轉(zhuǎn)發(fā)路由。

    詳細(xì)流程圖如下。

    請(qǐng)求時(shí)序圖

    以下為您推薦幾種統(tǒng)一轉(zhuǎn)發(fā)路由的實(shí)現(xiàn)方法,供您參考。

獲取用戶上傳頭像的URL及加密簽名

開(kāi)發(fā)自有App的用戶賬號(hào)時(shí),如果App需要支持C端用戶上傳頭像及修改簽名的功能,請(qǐng)您根據(jù)以下流程來(lái)開(kāi)發(fā)。

  1. 調(diào)用獲取用戶上傳頭像的URL及加密簽名接口,獲取上傳的URL和簽名等參數(shù)。

  2. App取得上傳的URL和簽名等參數(shù)后,通過(guò)POST方法將頭像上傳(更多介紹,請(qǐng)參見(jiàn)PostObject)。

    上傳時(shí)Header中的x-oss-forbid-overwrite參數(shù)需設(shè)置為false,否則可能導(dǎo)致上傳失敗。

  3. 拼接URL。

    根據(jù)流程1中調(diào)用接口的返回參數(shù)中的host、dir拼接得出頭像圖片URL地址(拼接規(guī)則為“https://”+ host + “/” + dir)。

  4. 通過(guò)修改賬號(hào)屬性接口更新圖像URL。

注冊(cè)登錄App開(kāi)發(fā)說(shuō)明

開(kāi)發(fā)自有App的用戶賬號(hào)時(shí),您還需要注意App注冊(cè)和登錄時(shí)國(guó)家的選擇,如下表所示。

操作

API Level 9及以上版本

API Level 8及以下版本

注冊(cè)App

需要選擇國(guó)家

需要選擇國(guó)家

登錄App

不需要選擇國(guó)家

選擇注冊(cè)時(shí)的國(guó)家

賬號(hào)注冊(cè)時(shí)選擇的國(guó)家,在賬號(hào)注冊(cè)成功后無(wú)法切換。該賬號(hào)綁定的設(shè)備也將連接到所選國(guó)家對(duì)應(yīng)區(qū)域的數(shù)據(jù)中心。如果您需切換數(shù)據(jù)中心的區(qū)域,則要先注銷(xiāo)賬號(hào),再重新選擇新的國(guó)家注冊(cè),并綁定原來(lái)的設(shè)備。

因此,您在開(kāi)發(fā)App注冊(cè)和登錄的業(yè)務(wù)邏輯時(shí),建議參考云智能App頁(yè)面的實(shí)現(xiàn)。當(dāng)需要選擇國(guó)家時(shí),強(qiáng)提示C端用戶(消費(fèi)者)選擇國(guó)家的影響(國(guó)家決定了賬號(hào)所在地和后續(xù)該賬號(hào)綁定設(shè)備連接的服務(wù)器區(qū)域),避免消費(fèi)者隨意選擇一個(gè)國(guó)家,導(dǎo)致設(shè)備連接的體驗(yàn)不佳。