Comments (14)
I'd like to see this in the upstream too. It has been here for a month without any response, so I'd like to ask maintainers if there's any issue with that particular implementation. And if so, what can we help you to see this provider in the upstream as soon as possible?
from velruse.
@naktinis , I suppose it's necessary to make a pull request in either case.
from velruse.
Hello! Please don't hesitate to nudge me on these issues, I'm very busy outside of velruse but when there's interest I try to give it as much love as I can.
I'm glad to incorporate a google oauth provider. I was wondering if it was worth separating the api or simply integrating with the add_google_login()
api by just adding some more options and in a future release deprecating the openid+oauth1.0 options.
from velruse.
Well, I think the best solution is to have a separate "private" module encapsulated into velruse.providers.google
. Then we'd be able to do something like:
# velruse.providers.google
from . import _google_oauth2
def add_google_login(..., protocol='oauth1'):
# ...
provider = _google_oauth2.GoogleProvider() if protocol == 'oauth2' else GoogleConsumer()
# ...
In the future, if Google decides to remove OAuth1 protocol completely, we can merge this private module into velruse.providers.google
.
from velruse.
I think google.py
should be turned into a package where google/__init__.py
contains the includeme/setup functions and google/hybrid.py
contains the current provider and google/oauth2.py
contains your new provider. What do you think?
Also I agree that the protocol switch is a good idea.
from velruse.
Yes, I completely agree with you.
P.S. The module is provided by @naktinis
from velruse.
Just adding my support for this feature request.
from velruse.
I'd also like to add my support for this feature. I'd love to see this integrated soon.
from velruse.
If it's ok with everyone, I will refactor google provider into a package, add the protocol switch and start a pull request.
from velruse.
+1
from velruse.
I think this can be closed now, see 74d6148.
from velruse.
I was looking into cutting a release but this just isn't adding up API-wise. The context needs to be exposed as an API and it can't simply be GoogleAuthenticationComplete because that one already exists and subclasses OpenIDAuthenticationComplete, thus we have a naming clash.
I'm seriously considering removing the current google provider entirely because most of it can be covered by the current OpenID provider and the OAuth1.0 part of the protocol is now deprecated. At which point the "google" provider would just be the new OAuth2 implementation. I might be able to justify this because I am not familiar with any users of the hybrid system, but it does feel irresponsible. Right now I'm bouncing between doing this and/or naming it google_oauth2, but that's what's holding me up.
from velruse.
I think we should name it google_oauth2 and wait until Google officially closes down hybrid API. At that point we would have a fair reason to remove current default provider from the library.
from velruse.
So I've pushed this as google_oauth2 and renamed the original implementation to google_hybrid. I've left in a bw-compat shim in velruse.providers.google that makes it work the same as google_hybrid. Released 1.0.2.
from velruse.
Related Issues (20)
- Error in OpenId connection HOT 2
- Wrong authentication complete class for OpenID HOT 3
- Google_oauth2 failure
- Before and after login events HOT 3
- Get email from linkedin and make routes consistent with other providers HOT 6
- data['email'] raises KeyError with velruse.google.scope = 'opend profile' HOT 2
- Recent Twitter error -- data['utc_offset'] float conversion. HOT 2
- Missing make_velruse_app function HOT 1
- Review routes for bitbucket
- is it better not to extract resp from proivder in callback()?
- Problems after linkedin provider migrated to oauthlib HOT 1
- Valid exceptions during provider login causes unrecoverable exception
- ThirdPartyFailure is raised when something gows wrong with provider, but there's no way to catch it. HOT 1
- Window's Live ID authentication isn't working
- Google is deprecating and shutting down OpenID support
- Can Velruse work with Traversal route HOT 1
- Link in repo description redirects
- Facebook Login is broken: KeyError: 'access_token' HOT 4
- FB Oauth2 URL has changed HOT 1
- Live OAuth URLs have changed.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from velruse.