2015-02-19 21 views
6

Tôi có một thiết lập OWIN OAuth thông thường cho dự án MVC WebAPI của tôi - một trong các yêu cầu từ các nhà phát triển giao diện người dùng có thể xác định liệu mã thông báo có bị từ chối hay không khi đó là mã thông báo không hợp lệ.Tôi làm cách nào để có được OAuthAuthorizationServerProvider trả lại Mã Lỗi cụ thể hoặc phản hồi khi mã thông báo hết hạn (thay vì không hợp lệ)?

Từ những gì tôi có thể biết, theo mặc định, OAuthAuthorizationServerProvider nằm ở giữa và kỳ diệu chỉ chặn các yêu cầu xem tiêu đề Cấp phép cho mã thông báo mang và xác định xem ủy quyền hoặc gửi 401/Ủy quyền đã bị từ chối cho yêu cầu này .

Có thể tùy chỉnh hành vi này/có cách nào khác để xác định lý do sau ủy quyền bị từ chối không?

tôi có thể thấy các phương pháp sau đây tồn tại:

public virtual Task ValidateAuthorizeRequest(OAuthValidateAuthorizeRequestContext context); 

Nhưng tôi không chắc chắn những gì thực hiện mặc định là, những gì nó trông giống như, hoặc cho dù đây là nơi mà tôi dự định đi để tùy chỉnh nhà cung cấp để đạt được những gì tôi đang theo đuổi.

OAuthOptions của tôi trong Startup.cs:

OAuthOptions = new OAuthAuthorizationServerOptions 
     { 
      TokenEndpointPath = new PathString("/Token"), 
      Provider = new ApplicationOAuthProvider(PublicClientId, UserManagerFactory), 
      AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), 
      AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60), 
      AllowInsecureHttp = true 
     }; 
+0

Bạn đã tìm thấy giải pháp chưa? Tôi đã tìm kiếm một vấn đề chính xác mà bạn đã báo cáo ở đây. – tyrion

+0

Thật không may là: ( –

Trả lời

-2

Hãy xem Token Based Authentication using ASP.NET Web API 2, Owin, and Identity từ Taiseer Joudeh, nó là trong loạt sâu gposts Blo về OAuthAuthorizationServerProvider.

+1

Điều này dường như không trả lời cụ thể câu hỏi của tôi? Triển khai OAuth hiện tại đang hoạt động, nhưng tôi muốn * cụ thể * để có thể phân biệt giữa mã thông báo hết hạn và mã thông báo không hợp lệ. bài viết, có lẽ tôi đã bỏ lỡ một cái gì đó và bạn có thể chỉ ra nó?) –

+0

Vui lòng cung cấp một câu trả lời hợp lệ, điều này dường như không hợp lệ – Jayendran

Các vấn đề liên quan