Refuse OPDS logins when CWA accepts every password
A CWA with anonymous browsing can answer an OPDS request whatever the password, so each password logged a user in to Bindery. Bindery now tests CWA with a login that cannot exist, and refuses OPDS logins if CWA accepts it. A login check no longer shares the session of the account of Bindery. The CWA account stays optional for a CWA that asks for no login, and a missing account now gets its own message.
This commit is contained in:
@@ -54,7 +54,7 @@ Environment variables set the configuration. **Restart the container after a cha
|
||||
| Variable | Description | Default value |
|
||||
| --- | --- | --- |
|
||||
| `CWA_URL` | The address of CWA, for example `http://calibre-web-automated:8083` | None |
|
||||
| `CWA_USERNAME`, `CWA_PASSWORD` | The CWA account of Bindery | None |
|
||||
| `CWA_USERNAME`, `CWA_PASSWORD` | The CWA account of Bindery. Leave them unset if CWA asks for no login. | None |
|
||||
| `CWA_DB_PATH` | Calibre-Web's `app.db`, for logins. See "CWA logins". | None |
|
||||
| `CALIBRE_DB_PATH` | The calibre `metadata.db`, for book ids. See "How books reach the library". | None |
|
||||
| `UPDATE_INTERVAL_HOURS` | Hours between checks for new chapters. `0` turns them off. | `24` |
|
||||
@@ -158,6 +158,11 @@ open sessions.
|
||||
`AUTH_METHOD=cwa` needs `CWA_URL`, `CWA_DB_PATH` or both. Without `CWA_DB_PATH`, Bindery sends the
|
||||
user name and password to `CWA_URL/opds` as an HTTP Basic login. This is the OPDS login.
|
||||
|
||||
**The OPDS login works only if CWA refuses a wrong password.** A CWA with anonymous browsing can
|
||||
accept every OPDS login. Bindery tests this with a login that cannot exist. If CWA accepts it,
|
||||
Bindery refuses each OPDS login, and the log names the reason. Set `CWA_DB_PATH` then, or use
|
||||
another `AUTH_METHOD`.
|
||||
|
||||
With `CWA_DB_PATH`, Bindery checks the password against the account in Calibre-Web's `app.db`. A
|
||||
wrong password or an unknown account fails at once. If Bindery cannot read the file or its password
|
||||
hash, it uses the OPDS login.
|
||||
@@ -288,8 +293,8 @@ files beside the database. The Compose file has an example. **Bindery does not w
|
||||
|
||||
Be sure to use the library that gets the ingest files. A different library can make Bindery update the
|
||||
wrong book. Database lookups also find books that the CWA account of Bindery cannot see. If Bindery
|
||||
cannot read the database, it uses CWA for every lookup. Keep `CWA_URL`, `CWA_USERNAME` and
|
||||
`CWA_PASSWORD` set, because library imports and CWA lookups use them.
|
||||
cannot read the database, it uses CWA for every lookup. Keep `CWA_URL` and the CWA account set,
|
||||
because library imports and CWA lookups use them.
|
||||
|
||||
A book that the FanFicFare calibre plugin made holds its story URL. If you add its URL, or import it
|
||||
from the library, Bindery links that book and imports its chapters from the ePub.
|
||||
@@ -355,6 +360,9 @@ Make a CWA user for Bindery with these settings:
|
||||
Bindery sends the password of this account with each OPDS request. **Use a password that no other
|
||||
service uses.**
|
||||
|
||||
If CWA allows anonymous browsing, Bindery needs no account. Leave `CWA_USERNAME` and `CWA_PASSWORD`
|
||||
unset, and give the guest user of CWA the settings above.
|
||||
|
||||
## Import an ePub file
|
||||
|
||||
If the site removed chapters before Bindery tracked the story, import an ePub that you made earlier
|
||||
|
||||
Reference in New Issue
Block a user