姑娘视频在线观看免费完整版高清,5555www色欧美视频,俺也去.com,疯狂做受xxxx高潮视频免费,r级无码视频在线观看

跳轉(zhuǎn)至

單點(diǎn)登錄

注: 所有接口僅針對(duì)旗艦會(huì)員或以上會(huì)員級(jí)別提供,非旗艦會(huì)員及以上無法調(diào)用,所有開放平臺(tái)接口默認(rèn)共享10QPS。

單點(diǎn)登錄允許考生只在用戶的系統(tǒng)上登錄一次,點(diǎn)擊試卷考試時(shí)不再需要再次登錄, 例如用戶A有公司自己的OA系統(tǒng), 考生王二登錄到公司的OA系統(tǒng)后, 在系統(tǒng)里點(diǎn)開始考試,這時(shí)王二就不再需要輸入自己的賬號(hào),而是直接就進(jìn)入考試了。

1、單點(diǎn)登錄考試

單點(diǎn)登錄考試允許用戶考生直接在用戶系統(tǒng)上點(diǎn)擊就開始考試, 不再需要額外的身份認(rèn)證。

單點(diǎn)登錄考試

GET https://api.kyexam.com/newstudentsso

參數(shù):

userId=用戶id&loginValue=試卷驗(yàn)證信息&password=考生密碼&eid=試卷id&aspart=0&rflag=0&expiretime=1

參數(shù)說明:

  • code 每個(gè)賬戶唯一對(duì)應(yīng)的驗(yàn)證碼,string類型,旗艦會(huì)員及以上可在系統(tǒng)設(shè)置->開放平臺(tái)設(shè)置中獲取。
  • time 當(dāng)前時(shí)間戳,例如1638768935。
  • userId 用戶id。
  • loginValue 表示的是考生的登錄值,比如說系統(tǒng)設(shè)置了使用手機(jī)登錄,那么這里就是考生的手機(jī)號(hào)碼。
  • password 考生密碼。
  • eid 試卷id
  • aspart 1表示去掉側(cè)邊欄
  • rflag 如果是登錄到考生后臺(tái),這里可以指定登錄后自動(dòng)跳轉(zhuǎn)到對(duì)應(yīng)的頁面,取考生后臺(tái)頁面連接上的前端路由信息
  • expiretime 認(rèn)證過期時(shí)間,expiretime應(yīng)大于0小于15,對(duì)應(yīng)1-14分鐘

如果操作成功,則返回:

{
    "data": "https://api.kyexam.com/login/u/api/112?rflag=0\u0026loginValue=13240935349\u0026password=13240935349\u0026eid=3506\u0026token=a05d2c44c08d87c2243315d63e35d274\u0026aspart=0",
    "status": "ok"
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "os"
    "strconv"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/newstudentsso"

    client := &http.Client{}
    fullPath := host + resource

    req, _ := http.NewRequest(http.MethodGet, fullPath, nil)
    time64 := time.Now().UTC().Unix()
    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    q := req.URL.Query()
    q.Add("code", Code)
    q.Add("time", strconv.Itoa(int(time64)))
    q.Add("userId", "1")
    q.Add("loginValue", "2")
    q.Add("password", "3")
    q.Add("eid", "4")
    q.Add("aspart", "0")
    q.Add("rflag", "0")
    q.Add("expiretime", "1")

    req.URL.RawQuery = q.Encode()

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    // fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

2、單點(diǎn)登錄考生后臺(tái)

單點(diǎn)登錄到考生后臺(tái)和單點(diǎn)登錄考試原理一樣, 差別是不傳eid參數(shù)或傳0。

系統(tǒng)判斷eid為0時(shí)會(huì)自動(dòng)跳轉(zhuǎn)到考生后臺(tái)界面。

單點(diǎn)登錄考生后臺(tái)

GET https://api.kyexam.com/newstudentsso

參數(shù):

userId=用戶id&loginValue=試卷驗(yàn)證信息&password=考生密碼&eid=試卷id&aspart=0&rflag=0&expiretime=1

參數(shù)說明:

  • code 每個(gè)賬戶唯一對(duì)應(yīng)的驗(yàn)證碼,string類型,旗艦會(huì)員及以上可在系統(tǒng)設(shè)置->開放平臺(tái)設(shè)置中獲取。
  • time 當(dāng)前時(shí)間戳,例如1638768935。
  • userId 用戶id。
  • loginValue 表示的是考生的登錄值,比如說系統(tǒng)設(shè)置了使用手機(jī)登錄,那么這里就是考生的手機(jī)號(hào)碼。
  • password 考生密碼。
  • eid 試卷id
  • aspart 1表示去掉側(cè)邊欄
  • rflag 如果是登錄到考生后臺(tái),這里可以指定登錄后自動(dòng)跳轉(zhuǎn)到對(duì)應(yīng)的頁面,取考生后臺(tái)頁面連接上的前端路由信息
  • expiretime 認(rèn)證過期時(shí)間,expiretime應(yīng)大于0小于15,對(duì)應(yīng)1-14分鐘

如果操作成功,則返回:

{
    "data": "https://api.kyexam.com/login/u/api/112?rflag=0\u0026loginValue=13240935349\u0026password=13240935349\u0026eid=0\u0026token=a05d2c44c08d87c2243315d63e35d274\u0026aspart=0",
    "status": "ok"
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "os"
    "strconv"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/newstudentsso"

    client := &http.Client{}
    fullPath := host + resource

    req, _ := http.NewRequest(http.MethodGet, fullPath, nil)
    time64 := time.Now().UTC().Unix()
    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    q := req.URL.Query()
    q.Add("code", Code)
    q.Add("time", strconv.Itoa(int(time64)))
    q.Add("userId", "1")
    q.Add("loginValue", "2")
    q.Add("password", "3")
    q.Add("eid", "4")
    q.Add("aspart", "0")
    q.Add("rflag", "0")
    q.Add("expiretime", "1")

    req.URL.RawQuery = q.Encode()

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    // fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

3、子管理員單點(diǎn)登錄

子管理員單點(diǎn)登錄管理后臺(tái), 接口如下:

請(qǐng)求

GET https://admin.kyexam.com/index.php?option=com_exams&task=api.childAdminSSO&format=raw

請(qǐng)求數(shù)據(jù)

code=權(quán)限碼&email=郵箱&password=密碼
  • code 每個(gè)賬戶唯一對(duì)應(yīng)的驗(yàn)證碼,string類型,該值可聯(lián)系優(yōu)考試獲取
  • email 子管理員郵箱,必填
  • password 子管理員密碼,必填

登錄成功后,系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到管理后臺(tái)