簡體   English   中英

iOS 8顯示了針對OAuth 401的基本身份驗證的彈出窗口

[英]iOS 8 shows popup for basic auth on 401 for OAuth

我有一個JavaScript應用程序發布到內部API,API是OAuth2,我們在請求的標頭中包含訪問令牌:

Authorization:Bearer 2267a056aab4100228a046267bfdfef6c2d73aaec66403eddf854914fa829310

當我們嘗試使用過期的令牌發布到api時,我們返回401(我們應該)使用此標頭:

WWW-Authenticate:OAuth realm='OAuth API', error='expired_token'

但是在iOS上,這會觸發原生的“基本身份驗證”彈出窗口,詢問用戶名和密碼,這不僅是錯誤的(我很確定),而且還會讓我們的用戶感到困惑。

有沒有辦法讓iOS不做這個彈出窗口?

這似乎與invalid grant的錯誤響應相匹配,並允許400錯誤響應。

http://tools.ietf.org/html/rfc6749#section-5.2

invalid_grant - 提供的授權授權(例如,授權代碼,資源所有者憑據)或刷新令牌無效,已過期,已撤銷,與授權請求中使用的重定向URI不匹配,或已發布給其他客戶端。

410 Gone並不能真正起到響應的作用,因為令牌仍在那里,它只是過期或無效。

我個人會用

410已經走了

請求的資源在服務器上不再可用,並且不知道轉發地址。 預計這種情況將被視為永久性的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM