From a8e399753f9080b8c89edf336f0bc3c58bb66baf Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 13:53:40 +0000 Subject: automatic import of python-firebase-token-generator --- python-firebase-token-generator.spec | 303 +++++++++++++++++++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 python-firebase-token-generator.spec (limited to 'python-firebase-token-generator.spec') diff --git a/python-firebase-token-generator.spec b/python-firebase-token-generator.spec new file mode 100644 index 0000000..2eb7a88 --- /dev/null +++ b/python-firebase-token-generator.spec @@ -0,0 +1,303 @@ +%global _empty_manifest_terminate_build 0 +Name: python-firebase-token-generator +Version: 2.0.1 +Release: 1 +Summary: A utility to generate signed Firebase Authentication Tokens +License: LICENSE +URL: https://github.com/firebase/firebase-token-generator-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/36/f5/d09a193c1504eeb5bf80e7116628b60b8f9625b1565e2ca375dade9415bb/firebase-token-generator-2.0.1.tar.gz +BuildArch: noarch + + +%description +# Firebase Token Generator - Python + +[Firebase Custom Login](https://www.firebase.com/docs/web/guide/simple-login/custom.html) +gives you complete control over user authentication by allowing you to authenticate users +with secure JSON Web Tokens (JWTs). The auth payload stored in those tokens is available +for use in your Firebase [security rules](https://www.firebase.com/docs/security/api/rule/). +This is a token generator library for Python which allows you to easily create those JWTs. + + +## Installation + +The Firebase Python token generator library is available via pip: + +```bash +$ pip install firebase-token-generator +``` + +## A Note About Security + +**IMPORTANT:** Because token generation requires your Firebase Secret, you should only generate +tokens on *trusted servers*. Never embed your Firebase Secret directly into your application and +never share your Firebase Secret with a connected client. + + +## Generating Tokens + +To generate tokens, you'll need your Firebase Secret which you can find by entering your Firebase +URL into a browser and clicking the "Secrets" tab on the left-hand navigation menu. + +Once you've downloaded the library and grabbed your Firebase Secret, you can generate a token with +this snippet of Python code: + +```python +from firebase_token_generator import create_token + +auth_payload = {"uid": "1", "auth_data": "foo", "other_auth_data": "bar"} +token = create_token("", auth_payload) +``` + +The payload passed to `create_token()` is made available for use within your +security rules via the [`auth` variable](https://www.firebase.com/docs/security/api/rule/auth.html). +This is how you pass trusted authentication details (e.g. the client's user ID) +to your Firebase security rules. The payload can contain any data of your +choosing, however it must contain a "uid" key, which must be a string of less +than 256 characters. The generated token must be less than 1024 characters in +total. + + +## Token Options + +A second `options` argument can be passed to `create_token()` to modify how Firebase treats the +token. Available options are: + +* **expires** (int or datetime) - A timestamp (as number of seconds since the epoch) or `datetime` +denoting the time after which this token should no longer be valid. + +* **notBefore** (int or datetime) - A timestamp (as number of seconds since the epoch) or `datetime` +denoting the time before which this token should be rejected by the server. + +* **admin** (bool) - Set to `True` if you want to disable all security rules for this client. This +will provide the client with read and write access to your entire Firebase. + +* **debug** (bool) - Set to `True` to enable debug output from your security rules. You should +generally *not* leave this set to `True` in production (as it slows down the rules implementation +and gives your users visibility into your rules), but it can be helpful for debugging. + +* **simulate** (bool) - If `True`, Firebase will run security rules but not actually make any +data changes. Note that this is internal-only for now. + +Here is an example of how to use the second `options` argument: + +```python +from firebase_token_generator import create_token + +auth_payload = {"uid": "1", "auth_data": "foo", "other_auth_data": "bar"} +options = {"admin": True} +token = create_token("", auth_payload, options) +``` + +%package -n python3-firebase-token-generator +Summary: A utility to generate signed Firebase Authentication Tokens +Provides: python-firebase-token-generator +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-firebase-token-generator +# Firebase Token Generator - Python + +[Firebase Custom Login](https://www.firebase.com/docs/web/guide/simple-login/custom.html) +gives you complete control over user authentication by allowing you to authenticate users +with secure JSON Web Tokens (JWTs). The auth payload stored in those tokens is available +for use in your Firebase [security rules](https://www.firebase.com/docs/security/api/rule/). +This is a token generator library for Python which allows you to easily create those JWTs. + + +## Installation + +The Firebase Python token generator library is available via pip: + +```bash +$ pip install firebase-token-generator +``` + +## A Note About Security + +**IMPORTANT:** Because token generation requires your Firebase Secret, you should only generate +tokens on *trusted servers*. Never embed your Firebase Secret directly into your application and +never share your Firebase Secret with a connected client. + + +## Generating Tokens + +To generate tokens, you'll need your Firebase Secret which you can find by entering your Firebase +URL into a browser and clicking the "Secrets" tab on the left-hand navigation menu. + +Once you've downloaded the library and grabbed your Firebase Secret, you can generate a token with +this snippet of Python code: + +```python +from firebase_token_generator import create_token + +auth_payload = {"uid": "1", "auth_data": "foo", "other_auth_data": "bar"} +token = create_token("", auth_payload) +``` + +The payload passed to `create_token()` is made available for use within your +security rules via the [`auth` variable](https://www.firebase.com/docs/security/api/rule/auth.html). +This is how you pass trusted authentication details (e.g. the client's user ID) +to your Firebase security rules. The payload can contain any data of your +choosing, however it must contain a "uid" key, which must be a string of less +than 256 characters. The generated token must be less than 1024 characters in +total. + + +## Token Options + +A second `options` argument can be passed to `create_token()` to modify how Firebase treats the +token. Available options are: + +* **expires** (int or datetime) - A timestamp (as number of seconds since the epoch) or `datetime` +denoting the time after which this token should no longer be valid. + +* **notBefore** (int or datetime) - A timestamp (as number of seconds since the epoch) or `datetime` +denoting the time before which this token should be rejected by the server. + +* **admin** (bool) - Set to `True` if you want to disable all security rules for this client. This +will provide the client with read and write access to your entire Firebase. + +* **debug** (bool) - Set to `True` to enable debug output from your security rules. You should +generally *not* leave this set to `True` in production (as it slows down the rules implementation +and gives your users visibility into your rules), but it can be helpful for debugging. + +* **simulate** (bool) - If `True`, Firebase will run security rules but not actually make any +data changes. Note that this is internal-only for now. + +Here is an example of how to use the second `options` argument: + +```python +from firebase_token_generator import create_token + +auth_payload = {"uid": "1", "auth_data": "foo", "other_auth_data": "bar"} +options = {"admin": True} +token = create_token("", auth_payload, options) +``` + +%package help +Summary: Development documents and examples for firebase-token-generator +Provides: python3-firebase-token-generator-doc +%description help +# Firebase Token Generator - Python + +[Firebase Custom Login](https://www.firebase.com/docs/web/guide/simple-login/custom.html) +gives you complete control over user authentication by allowing you to authenticate users +with secure JSON Web Tokens (JWTs). The auth payload stored in those tokens is available +for use in your Firebase [security rules](https://www.firebase.com/docs/security/api/rule/). +This is a token generator library for Python which allows you to easily create those JWTs. + + +## Installation + +The Firebase Python token generator library is available via pip: + +```bash +$ pip install firebase-token-generator +``` + +## A Note About Security + +**IMPORTANT:** Because token generation requires your Firebase Secret, you should only generate +tokens on *trusted servers*. Never embed your Firebase Secret directly into your application and +never share your Firebase Secret with a connected client. + + +## Generating Tokens + +To generate tokens, you'll need your Firebase Secret which you can find by entering your Firebase +URL into a browser and clicking the "Secrets" tab on the left-hand navigation menu. + +Once you've downloaded the library and grabbed your Firebase Secret, you can generate a token with +this snippet of Python code: + +```python +from firebase_token_generator import create_token + +auth_payload = {"uid": "1", "auth_data": "foo", "other_auth_data": "bar"} +token = create_token("", auth_payload) +``` + +The payload passed to `create_token()` is made available for use within your +security rules via the [`auth` variable](https://www.firebase.com/docs/security/api/rule/auth.html). +This is how you pass trusted authentication details (e.g. the client's user ID) +to your Firebase security rules. The payload can contain any data of your +choosing, however it must contain a "uid" key, which must be a string of less +than 256 characters. The generated token must be less than 1024 characters in +total. + + +## Token Options + +A second `options` argument can be passed to `create_token()` to modify how Firebase treats the +token. Available options are: + +* **expires** (int or datetime) - A timestamp (as number of seconds since the epoch) or `datetime` +denoting the time after which this token should no longer be valid. + +* **notBefore** (int or datetime) - A timestamp (as number of seconds since the epoch) or `datetime` +denoting the time before which this token should be rejected by the server. + +* **admin** (bool) - Set to `True` if you want to disable all security rules for this client. This +will provide the client with read and write access to your entire Firebase. + +* **debug** (bool) - Set to `True` to enable debug output from your security rules. You should +generally *not* leave this set to `True` in production (as it slows down the rules implementation +and gives your users visibility into your rules), but it can be helpful for debugging. + +* **simulate** (bool) - If `True`, Firebase will run security rules but not actually make any +data changes. Note that this is internal-only for now. + +Here is an example of how to use the second `options` argument: + +```python +from firebase_token_generator import create_token + +auth_payload = {"uid": "1", "auth_data": "foo", "other_auth_data": "bar"} +options = {"admin": True} +token = create_token("", auth_payload, options) +``` + +%prep +%autosetup -n firebase-token-generator-2.0.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-firebase-token-generator -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 2.0.1-1 +- Package Spec generated -- cgit v1.2.3