Re-consider access token lifespan
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- authentication, security
Hướng nghiên cứu
Bắt đầu với src/AccessToken.js ở thời hạn mặc định 14 ngày, sau đó xem xét authorization code flow, refresh-token option, việc xử lý cookie và các cân nhắc về OpenID Connect được mô tả trong issue. Cần thống nhất thiết kế bảo mật trước khi triển khai; done phải bao gồm một chiến lược đã được thống nhất về thời hạn của token và ảnh hưởng của chiến lược đó đến việc gia hạn và xác thực lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
At the moment NSS defines a default 14-day token lifespan: https://github.com/solid/oidc-op/blob/main/src/AccessToken.js#L7
Why re-consider?
- a long life for NSS access tokens affects the entire Solid ecosystem. If another server (e.g. ESS, CSS) wants to support NSS access tokens, it needs to accept tokens with a very long life.
- Bearer tokens (which is what we're talking about) are global in nature for Solid. They are extremely powerful and so any exfiltration can have significant negative consequences (i.e. a user loses data to a malicious actor). Reducing the lifespan of a global access token reduces risk for everyone
- for access tokens (especially global access tokens) the industry standard is <= 1 hour. For access tokens that secure "sensitive" data, the standard is closer to 10 minutes or less
Suggestions:
- Request a refresh token during the authorization code flow (this is part of OpenID Connect). Then, when the token is nearing expiry, exchange the refresh token for a new access token
- Completely refresh the app, passing the user through the full authorization code flow (part of OIDC). There will still be a cookie available on the identity provider, so the user will, in all likelihood, be passed right through the redirect flow and end up where they started. There are patterns for maintaining state between the start and end of that flow
- If the cookie expired on the Identity Provider, then the user would need to re-enter credentials
- NSS uses cookies so we could exchange the access token with a cookie.
Example: Gmail uses cookies. Cookies are easy to scope to a particular app, so there are no significant security issues.
- Ngôn ngữ chính
- JavaScript
- Star
- 1.8k
- Fork
- 308
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nodeSolidServer/node-solid-server
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
nodeSolidServer/node-solid-server#1848 · 2 bình luận · 1 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
nodeSolidServer/node-solid-server#1841 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
nodeSolidServer/node-solid-server#1147 ·
-
remove bootstrap dependency Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
nodeSolidServer/node-solid-server#1853 ·
Tất cả issue của nodeSolidServer/node-solid-server
Issue tương tự
-
bot:ai-assisted component:compact-js status:untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
midnightntwrk/midnight-sdk#403 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 86/100
DavidAnson/markdownlint-cli2#940 ·
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100