Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
extensions.append("sphinx.ext.intersphinx")
intersphinx_mapping = {
"python3": ("https://docs.python.org/3.6", None),
"django": ("http://django.readthedocs.org/en/latest/", None),
"django": ("https://django.readthedocs.io/en/latest/", None),
}


Expand Down
3 changes: 3 additions & 0 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@ tests both ways. You can see the configurations used in tests/settings.py and te

When there are multiple databases defined, Django tests will not work unless they are told which database(s) to work with.
For test writers this means any test must either:

- instead of Django's TestCase or TransactionTestCase use the versions of those
classes defined in tests/common_testing.py
- when using pytest's `django_db` mark, define it like this:
Expand Down Expand Up @@ -386,12 +387,14 @@ working on multiple branches with different dependencies.
You can use uv sync to set up your environment and install dependencies and run python::

.. code-block:: bash

uv sync # checks deps, installs virtualenv and dependencies as necessary
uv run ... # runs command in the uv environment, syncs deps and python version first if necessary

To run tox uv use `tox uv <https://github.com/tox-dev/tox-uv>`__::

.. code-block:: bash

uv tool install tox --with tox-uv # use uv to install
tox --version # validate you are using the installed tox
tox r -e py312 # will use uv
1 change: 0 additions & 1 deletion docs/management_commands.rst
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,3 @@ The ``createapplication`` management command provides a shortcut to create a new
--skip-checks Skip system checks.

If you let ``createapplication`` auto-generate the secret then it displays the value before hashing it.

4 changes: 2 additions & 2 deletions docs/settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -369,13 +369,13 @@ Whether to always prompt the :term:`Resource Owner` (End User) to confirm a logo
:term:`Client` (Relying Party). If it is disabled the :term:`Resource Owner` (End User) will only be prompted if required by the standard.

OIDC_RP_INITIATED_LOGOUT_STRICT_REDIRECT_URIS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Default: ``False``

Enable this setting to require `https` in post logout redirect URIs. `http` is only allowed when a :term:`Client` is `confidential`.

OIDC_RP_INITIATED_LOGOUT_ACCEPT_EXPIRED_TOKENS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Default: ``True``

Whether expired ID tokens are accepted for RP-Initiated Logout. The Tokens must still be signed by the OP and otherwise valid.
Expand Down
2 changes: 1 addition & 1 deletion docs/views/class_based.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,5 @@ using the *Class Based View* approach.
return HttpResponse('Hello, World!')


Generic views in DOT are obtained composing a set of mixins you can find in the :doc:`views.mixins <mixins>`
Generic views in DOT are obtained composing a set of mixins you can find in the :ref:`mixins`
module: feel free to use those mixins directly if you want to provide your own class based views.
3 changes: 2 additions & 1 deletion docs/views/details.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ Scopes handling.
.. automodule:: oauth2_provider.views.generic
:members:

.. _mixins:

Mixins
------
These views are mainly for internal use, but advanced users may use them as basic components to customize OAuth2 logic
inside their Django applications.

.. automodule:: oauth2_provider.views.mixins
:members:
:noindex:

Base
----
Expand Down
4 changes: 2 additions & 2 deletions docs/views/mixins.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Mixins for Class Based Views
============================

.. automodule:: oauth2_provider.views.mixins
:members:
The mixins documentation has moved to the :ref:`mixins` section in
:doc:`details`.
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:doc:details`` likely points to a non-existent document (Sphinx :doc: expects a docname from the docs root). Since the target file is `docs/views/details.rst` (docname `views/details`), update this link to reference `views/details` (optionally with custom link text) so the stub page doesn’t introduce an `unknown document` warning.

Suggested change
:doc:`details`.
:doc:`views/details`.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brianhelba can you confirm whether this is valid feedback or not?

3 changes: 2 additions & 1 deletion oauth2_provider/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -562,7 +562,8 @@ class Meta(AbstractRefreshToken.Meta):
class AbstractIDToken(models.Model):
"""
An IDToken instance represents the actual token to
access user's resources, as defined in the OpenID Connect specification.
access user's resources, as in
`OpenID Connect Core 1.0 Section 2 <https://openid.net/specs/openid-connect-core-1_0.html#IDToken>`_.

Fields:

Expand Down
Loading