日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Teams Bot开发系列:Bot验证

發布時間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Teams Bot开发系列:Bot验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們今天來說一下authentication,authentication一直是一個復雜的問題。bot里的authentication也不簡單。我們先來看一個概念:Bot Framework Token Service,根據官方定義,這個token service主要是:

  • Facilitating the use of the OAuth protocol with a wide variety of external services.
  • Securely storing tokens for a particular bot, channel, conversation, and user.
  • Acquiring user tokens

可以看到這個service會和外部的服務溝通,保存一些已經獲取的token,這樣下次再來申請token的時候Bot Framework Token Service可以返回已經保存的token。

我們以一個例子來看一下具體的做法:

假設用戶促發了一個操作,要完成這個操作需要我們的bot調用Graph API,而調用Graph API需要有調用的Token。

  • 用戶促發了一個email請求操作

  • 這個操作作為一個activity被發送給了Bot Framework channel service,后者把這個請求進一步發送給了我們的bot服務。

  • 我們的bot service發現用戶的activity需要一個訪問Graph API的token,所以就問Token Service請求這個token

  • 由于這是此用戶第一次發起這個請求,Bot Framework Token Service之前沒有保存過這用戶的token,所以它返回給我們bot說,沒有找到token。

  • bot會為了獲取token,需要用戶確認授權,所以bot創建了一個OAuthCard對象,并且含有GraphConnection的名字,并且把這個OAuthCard穿回Channel Service

  • Bot Framework Channel Service收到這么一個請求后,就會調用Bot Framework Token Service來獲取一個合法的OAuth登入網址。這個登入網址會被加入到OAuthCard對象

  • Bot Framework Channel Service將含有OAuth登入網址的OAuthCard對象發送回用戶,這個對象會有一個sign-in的按鈕。

  • 用戶收到OAuthCard對象,點擊上面的登入按鈕,聊天客戶端會打開用戶登入的網頁,讓用戶登入。

  • 在用戶登入授權后,外部的Identity Provider就會把token傳回給Bot Framework Token Service,Bot Framework Token Service則會安全地把token保存下來。

  • 我們的bot收到token后就可以對Graph API發起請求了。

  • 等到下一次如果我們bot又需要同一個用戶的token時,Bot Framework Token Service會從TokenStore里找到之前保存的token,如果token還沒有過期的話,就直接返回給bot了。

    authentication實際上是一個十分龐大復雜的topic,有興趣的讀者還可以參考?這篇文檔

    總結

    以上是生活随笔為你收集整理的Teams Bot开发系列:Bot验证的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。