Tôi đã thực hiện bảo mật cho api web của mình (tài khoản cá nhân) như được thảo luận here.Mã thông báo ủy quyền API ASP.NET hết hạn sớm
Tôi đã lưu trữ trang web trên godaddy (shared hosting) và hoạt động tốt. Khi tôi yêu cầu mã thông báo bằng cách sử dụng url "domain.com/token", tôi nhận được mã thông báo có ngày hết hạn trong vòng 15 ngày. Tôi đã thiết lập này trong "StartupAuth.cs" sử dụng
AccessTokenExpireTimeSpan = TimeSpan.FromDays(15)
ví dụ:
{
"access_token":"qwertyuiop.....",
"token_type":"bearer",
"expires_in":1209599,
"userName":"[email protected]",
".issued":"Wed, 11 Feb 2015 01:00:00 GMT",
".expires":"Thu, 26 Feb 2015 01:00:00 GMT"
}
(tôi đặt giá trị trong đoạn mã trên, nhưng bạn sẽ có được ý tưởng về ".expires" lĩnh vực
.5 phút sau khi nhận được dấu hiệu, khi tôi cố gắng và tiếp cận "được" hay "bài" hay phương pháp nào trong API của tôi bằng cách thông qua ủy quyền: mang thẻ trong tiêu đề như:
Authorization: Bearer qwertyuiop.....
tôi nhận được lỗi này:
{"Message":"Authorization has been denied for this request."}
Mặc dù nó chỉ được 5 phút và mã thông báo được cho là kéo dài 15 ngày, khi nó hết hạn trong vòng 5 phút. Khi tôi yêu cầu bất kỳ phương thức "get"/"post" nào trong khoảng thời gian 5 phút, tôi nhận được phản hồi thích hợp với dữ liệu của mình bằng JSON. Tóm lại, ủy quyền thành công.
Tôi đã lặp lại hành vi này bằng cách thử nghiệm nó thông qua Fiddler, plugin REST của Chrome và thông qua ứng dụng dành cho thiết bị di động sử dụng API.
tôi có giá trị web.config cho phiên như sau (tôi nghĩ liên quan của nó)
<sessionState timeout="180" />
Lưu ý rằng hình xác thực không được sử dụng, vì vậy thời gian chờ trên phần đó trong web.config là không cần thiết.
Bất kỳ ý tưởng gì đang xảy ra? Thời gian chờ này gây ra cho người dùng ứng dụng dành cho thiết bị di động sử dụng API để đăng nhập lại mọi lúc và sau đó. Bất kỳ trợ giúp sẽ được đánh giá cao.
Cảm ơn.
Tôi có cùng một vấn đề chính xác !! Có ai giúp gì không? –
Thêm phím máy đã thực hiện thủ thuật. why_not cũng đã đề cập đến nó bên dưới. Làm cách nào để đánh dấu bài đăng của why_not là câu trả lời? –