mirror of
https://github.com/go-shiori/shiori.git
synced 2026-04-25 22:45:55 +03:00
[PR #836] [MERGED] feat: allow authentication using proxy request header #811
Labels
No labels
component:backend
component:builds
component:builds
component:extension
component:frontend
component:readability
database
database:mysql
database:postgres
database:sqlite
feature:ebooks
github_actions
good first issue
hacktoberfest
note:duplicate?
note:fixed?
note:out-of-scope?
os:windows
priority:high
priority:low
pull-request
resolution:as-intended
resolution:cant-reproduce
resolution:duplicate
resolution:fixed
resolution:wontfix
tag:TBD
tag:big-task
tag:help-wanted
tag:huge-data
tag:meta
tag:more-info
tag:next
tag:no-stale
tag:requires-migrations
tag:research
tag:security 🛡️
tag:stale
tag:waiting-for-assignee
type:bug
type:documentation
type:enhancement
type:meta
type:ux
user:cli
user:web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shiori#811
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/go-shiori/shiori/pull/836
Author: @PterX
Created: 2/5/2024
Status: ✅ Merged
Merged: 2/13/2024
Merged by: @fmartingr
Base:
master← Head:master📄 Description
This submission implements the working method of oauth header authentication, which needs to be combined with the reverse proxy service and oauth service to achieve password-free authentication login.
For example: The following is explained by combining the configuration of nginx and authelia
Refer to the auth documentation page https://www.authelia.com/integration/proxies/nginx/
We can use the following configurations
/config/nginx/snippets/proxy.conf
/config/nginx/snippets/authelia-location.conf
/config/nginx/snippets/authelia-authrequest.conf
nginx configuration is as follows
Way of working
step 1
Client request -> nginx proxy(auth request, not login) -> authelia ( redirect to auth page)
step 2
Client request -> nginx proxy(auth request, it was login with oauth) -> authelia (verify api) -> shiori (get auth user header, like user name) -> shiori (getTokenFromAuthHeader: trust && query account by user name) -> shiori (generate token and session-id,save to cookie)
step 2
Client request(with token,session-id) -> nginx proxy(also auth request,ignore) -> shiori (old work path, getTokenFromCookie, and other check ...) -> shiori (user verify ok) -> shiori ( business code)
Closes #594
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.