I need to make an api in pyramid and i think oauth2 would be good to implement not to reinvent the wheel, already installed pyramid_oauth2 package but not sure about documentation or examples. Somebody knows any good resource? a github project or something for a oauth2 service provider would be nice.
pyramid_oauth2 service provider documentation or examples
681 views Asked by Raul Gomez At
1
There are 1 answers
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in PYRAMID
- Pyramid using __json__ returns unexpected format at client side
- Inconsistent content-type received in the response header for the request (Accept: */* or No accept headers) in cornice+pyramid webserver on python3.8
- I cannot obtain the "AnimatedEmojie" stickersets through Pyrogram
- How to make uWSGI server stop if an application raised exception on load?
- How to serve Yolo 8 captured frames using Pyramid web server
- In project build results, Python Pyramid referencing a view source file that no longer exists
- CORS prefetch error in python pyramid application
- How to create a minimal standalone WEB application with Django
- How to properly associate SQLAlchemy session with pyramid sessions in Pyramid?
- Swagger Documentation for Python Pyramid Application
- Only allow access view from specific view
- Get HTML pape after Javascript loaded with webtest
- Passing view param while invoke_subrequest
- sqlalchemy.orm.exc.DetachedInstanceError - concurency problem in Pyramid with waitress
- cookiecutter step when installing Pyramid application throws module not found error
Related Questions in OAUTH-PROVIDER
- How to use a Named Credential within an Auth. Provider Pluggin?
- Firebase Linking provider SignIn not recognizing user
- How do I configure in Salesforce an OpenID Connect Auth.Provider with a third-party that authorizes via MyID?
- Can I use Supertokens with linkedin login oauth 2.0 as Third party provider ? How to do so?
- getting error {"error": "invalid_client"} when creating access token in django
- How to select and work with a particular Provider (OIDC provider) added on Google Could - Identity platform by using server side java code
- google as identity provider and oauth
- How can we use Apple Provider with Spring Security oauth2 client
- Android Firebase why do I get signed out after changing email?
- How to add authentication token in header of `APIClient` in `django rest_framework test`
- 3r Party AuthProvider - callback url redirect
- Flask-OAuthlib to implement OAuth implicit flow
- Spring OAuth2 API combine password grant AND third-party provider
- Android - How to link multiple Auth Providers to an account i.e google and Email/Password
- Enable oauth login with django-allauth but a custom provider
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
If you're talking about my package, here is a sample from my website. It's still pretty experimental but it's supposed to work with facebook and some other oauth2 providers. Unfortunately, twitter as a matter of fact is only oauth1.0 which is a problem.
So you need to include pyramid_oauth2 like that
Or within the config.ini file.
Then you can add that somewhere else after the config is being included:
This will create a path to
/oauth/vkontakte/authenticate. This is where the request start for the redirect flow. Then it will redirect to theauthorize urland it also creates a/oauth/vkontakte/callbackWhich receives the code. Then it send back that code to theaccess_tokenpath.If something isn't working feel free to report some problems, It's possible to send extra parameters to the
Providerconstructor such as scope etc. At the moment these parameters are send for all request to the server.Oh and you have to provide a callback function to the provider. I'll update the answer with an example with a callback etc.
If it's still isn't clear, I can make a little sample app with facebook and push it on github today or tomorrow.
The callback is just a callable that receive
requestanddata, the access token should be contained in data.I had in mind that how you get the access token should be straightforward and once you receive the access token, it should be possible to execute some standart callback to register with an oauth api and so on. I believe that not everybody are looking for oauth only for authentication to a site like facebook connect and so on. One might be interested to use the access_token for more than just auth. Also since pyramid isn't about sqlalchemy and other databases, it doesn't enforce anything. In other word implementing it with ZODB, SQLAlchemy should be easy.
I believe the flow is actually pretty simple and I'm not actually(I guess) implementing oauth2 yet correctly for the current client flow. Some attributes are missing like grant_type and so on. They can be passed as extra arguments but depending on the oauth2 server, it might not work ok everywhere.
btw, I'm looking to add providers to the ini file so they can be loaded from there instead of within code. That way you'll be able to maintain different app for dev, prod etc.