diff --git a/README.md b/README.md index 7fe8421..4c38e44 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![book](https://github.com/thevickypedia/pystream/actions/workflows/pages/pages-build-deployment/badge.svg)][gha_pages] [![pypi](https://github.com/thevickypedia/pystream/actions/workflows/python-publish.yml/badge.svg)][gha_pypi] +[![none-shall-pass](https://github.com/thevickypedia/pystream/actions/workflows/markdown.yml/badge.svg)][gha_none_shall_pass] [![PyPI version shields.io](https://img.shields.io/pypi/v/stream-localhost)][pypi] [![Pypi-format](https://img.shields.io/pypi/format/stream-localhost)](https://pypi.org/project/stream-localhost/#files) @@ -99,6 +100,7 @@ Licensed under the [MIT License][license] [release-notes]: https://github.com/thevickypedia/pystream/blob/master/release_notes.rst [gha_pages]: https://github.com/thevickypedia/pystream/actions/workflows/pages/pages-build-deployment [gha_pypi]: https://github.com/thevickypedia/pystream/actions/workflows/python-publish.yml +[gha_none_shall_pass]: https://github.com/thevickypedia/pystream/actions/workflows/markdown.yml [google-docs]: https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings [pep8]: https://www.python.org/dev/peps/pep-0008/ [isort]: https://pycqa.github.io/isort/ diff --git a/authentication.md b/authentication.md index da6039b..dd7810e 100644 --- a/authentication.md +++ b/authentication.md @@ -3,7 +3,7 @@ a `session_token` generated by the server to access directories and streaming content. ### Username and Password - +> [Signature Authentication][signature-authentication] #### Frontend - UI creates hex values for username and password using native JS - These hex values are then used the calculate the hash @@ -17,7 +17,7 @@ a `session_token` generated by the server to access directories and streaming co - These signatures are then compared for authentication purpose ### Session Token - +> [Symmetric Encryption][symmetric-encryption] - Once the login has been successful, the API creates a randomly generated 64 bit url safe token - This token is stored as unique key for each user - The API then forms a payload with the username, key, and the timestamp @@ -30,3 +30,10 @@ a `session_token` generated by the server to access directories and streaming co > so the username and password are lost in the frontend at this point - From then on, all calls to the backend including redirects, directory navigation and, streaming will carry the cookie - The `session_token` is the only form of authentication from this point onward + +### References +- [symmetric-encryption] +- [signature-authentication] + +[symmetric-encryption]: https://cryptography.io/en/latest/fernet/ +[signature-authentication]: https://developers.expediagroup.com/docs/products/rapid/resources/reference/signature-authentication diff --git a/docs/README.html b/docs/README.html index f55bc11..1c5f0eb 100644 --- a/docs/README.html +++ b/docs/README.html @@ -48,7 +48,8 @@
Deployments
+ + diff --git a/docs/README.md b/docs/README.md index 7fe8421..4c38e44 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,6 +2,7 @@ [![book](https://github.com/thevickypedia/pystream/actions/workflows/pages/pages-build-deployment/badge.svg)][gha_pages] [![pypi](https://github.com/thevickypedia/pystream/actions/workflows/python-publish.yml/badge.svg)][gha_pypi] +[![none-shall-pass](https://github.com/thevickypedia/pystream/actions/workflows/markdown.yml/badge.svg)][gha_none_shall_pass] [![PyPI version shields.io](https://img.shields.io/pypi/v/stream-localhost)][pypi] [![Pypi-format](https://img.shields.io/pypi/format/stream-localhost)](https://pypi.org/project/stream-localhost/#files) @@ -99,6 +100,7 @@ Licensed under the [MIT License][license] [release-notes]: https://github.com/thevickypedia/pystream/blob/master/release_notes.rst [gha_pages]: https://github.com/thevickypedia/pystream/actions/workflows/pages/pages-build-deployment [gha_pypi]: https://github.com/thevickypedia/pystream/actions/workflows/python-publish.yml +[gha_none_shall_pass]: https://github.com/thevickypedia/pystream/actions/workflows/markdown.yml [google-docs]: https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings [pep8]: https://www.python.org/dev/peps/pep-0008/ [isort]: https://pycqa.github.io/isort/ diff --git a/docs/_sources/README.md.txt b/docs/_sources/README.md.txt index 7fe8421..4c38e44 100644 --- a/docs/_sources/README.md.txt +++ b/docs/_sources/README.md.txt @@ -2,6 +2,7 @@ [![book](https://github.com/thevickypedia/pystream/actions/workflows/pages/pages-build-deployment/badge.svg)][gha_pages] [![pypi](https://github.com/thevickypedia/pystream/actions/workflows/python-publish.yml/badge.svg)][gha_pypi] +[![none-shall-pass](https://github.com/thevickypedia/pystream/actions/workflows/markdown.yml/badge.svg)][gha_none_shall_pass] [![PyPI version shields.io](https://img.shields.io/pypi/v/stream-localhost)][pypi] [![Pypi-format](https://img.shields.io/pypi/format/stream-localhost)](https://pypi.org/project/stream-localhost/#files) @@ -99,6 +100,7 @@ Licensed under the [MIT License][license] [release-notes]: https://github.com/thevickypedia/pystream/blob/master/release_notes.rst [gha_pages]: https://github.com/thevickypedia/pystream/actions/workflows/pages/pages-build-deployment [gha_pypi]: https://github.com/thevickypedia/pystream/actions/workflows/python-publish.yml +[gha_none_shall_pass]: https://github.com/thevickypedia/pystream/actions/workflows/markdown.yml [google-docs]: https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings [pep8]: https://www.python.org/dev/peps/pep-0008/ [isort]: https://pycqa.github.io/isort/ diff --git a/docs/_sources/authentication.md.txt b/docs/_sources/authentication.md.txt index da6039b..dd7810e 100644 --- a/docs/_sources/authentication.md.txt +++ b/docs/_sources/authentication.md.txt @@ -3,7 +3,7 @@ a `session_token` generated by the server to access directories and streaming content. ### Username and Password - +> [Signature Authentication][signature-authentication] #### Frontend - UI creates hex values for username and password using native JS - These hex values are then used the calculate the hash @@ -17,7 +17,7 @@ a `session_token` generated by the server to access directories and streaming co - These signatures are then compared for authentication purpose ### Session Token - +> [Symmetric Encryption][symmetric-encryption] - Once the login has been successful, the API creates a randomly generated 64 bit url safe token - This token is stored as unique key for each user - The API then forms a payload with the username, key, and the timestamp @@ -30,3 +30,10 @@ a `session_token` generated by the server to access directories and streaming co > so the username and password are lost in the frontend at this point - From then on, all calls to the backend including redirects, directory navigation and, streaming will carry the cookie - The `session_token` is the only form of authentication from this point onward + +### References +- [symmetric-encryption] +- [signature-authentication] + +[symmetric-encryption]: https://cryptography.io/en/latest/fernet/ +[signature-authentication]: https://developers.expediagroup.com/docs/products/rapid/resources/reference/signature-authentication diff --git a/docs/authentication.html b/docs/authentication.html index 24bbd51..b05ea4d 100644 --- a/docs/authentication.html +++ b/docs/authentication.html @@ -48,6 +48,9 @@+
+
Once the login has been successful, the API creates a randomly generated 64 bit url safe token
This token is stored as unique key for each user