2016-03-04 57 views
0

對於不正確使用oauth條款,我很抱歉。OAuth 2.0針對未經身份驗證的用戶通過IdentityServer4提供的一次性訪問令牌

我有4個 「方」 如下(有意不使用OAuth方面如果可能):

  • 最終用戶在瀏覽器中(JavaScript)的
  • 我們的網站(ASPNET)
  • 我們的Web API (ASPNET)
  • 我們auth服務器(ASPNET利用identityserver 4)

我的使用場景是,我們只希望先由瀏覽器從網站請求網頁的API調用。雖然API不公開敏感信息,但我們想介紹一下API被濫發的複雜性。

我們最終用戶的意願未登錄

我想象這樣的流動是類似於:

  1. 瀏覽器從網站(一個將可能導致js中進行API調用)
  2. 網站要求身份驗證服務器令牌請求某個頁面
  3. 驗證服務器驗證令牌請求從網站(服務器本身)
  4. 驗證服務器返回一個標記的網站
  5. 公司網址來到e返回頁面包括訪問令牌
  6. 瀏覽器能夠讓使用令牌

雖然令人費解,以API的請求,我相信這是至少類似於客戶端訪問授權流?

然後這些令牌可能是通過網站或auth服務器扼殺

是的,我知道這不能保護api免受衆多其他媒介的影響,但它確實消除了最簡單的情況,而這正是我們現在想要達到的所有情況。我會補充一點,我沒有定義這個要求,我只是試圖找到一種方法來實現它利用技術人員在那裏,而不是犯我自己的任何東西滾動的錯誤。

有人可以確認/否認有我可以在這裏使用的oauth流?任何使用給定流和IdentityServer的示例項目?

IdentityServer3/non-aspnet [core/5]的例子都很好,我可以翻譯

回答

0

您所描述的是Client Credentials Grant,您的網站(客戶端)從identityserver(auth服務器)獲取訪問令牌。該訪問令牌可以用於調用Web API(資源服務器)上的端點。

令牌是承載令牌,並可以由任何人誰擁有它被使用,所以如果你是舒適與您的網站傳遞迴瀏覽器上的HTTP響應,那麼它會工作得很好。

我不知道你所說的節流記號的意思 - 一旦崛起,其有效期限爲他們的一生。我想你可以保持的時間對生活很短的達到你想要的,雖然單次使用。

+0

感謝您的回答,@iandayman。您是否知道使用IdentityServer的客戶端證書授權的任何示例? – Smudge202

+0

@ Smudge202看一看https://identityserver.github.io/Documentation/docs/overview/simplestOAuth.html – iandayman

相關問題