Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Better oAuth Integration Support #46

Closed
josephmancuso opened this issue Mar 17, 2018 · 2 comments
Closed

Add Better oAuth Integration Support #46

josephmancuso opened this issue Mar 17, 2018 · 2 comments
Assignees
Labels
can-reopen This can be reopened when any maintainer is available enhancement New feature or request should-be-a-package This should not be in the core package but instead of a third party package
Milestone

Comments

@josephmancuso
Copy link
Member

josephmancuso commented Mar 17, 2018

This will be oAuth integrations like Twitter, GitHub, Slack etc etc.

This will start off with integrations for Slack and Discord and will be open for extension for other drivers, primarily third party unless we deem necessary for other integrations.

I chose Slack and Discord because that is what I need for my current Masonite project. I want it to be a simple plug and play system.

All this will require is to add a service provider and it will simply make the integration and drivers accessible from the container.

If you want to add other third party integrations then it will simply be loading them into the container.


I'm contemplating about making this either party and wholly a third party package instead of integrating this into this core library. This might have to be something like MasoniteFramework/oAuth or something and then pip install masonite-oauth


End code will look like:

Add two routes:

ROUTES = [
    Get().route('send/to/slack', 'Controller@get_auth'),
    Get().route('from/slack', 'Controller@receive_auth'),
]

Get and send the authorization

def get_auth(self, IntegrationManager):
    IntegrationManager.driver('slack').redirect()

def receive_auth(self, IntegrationManager):
    IntegrationManager.driver('slack').user()

For Masonite 1.5, only Slack and Discord drivers will be pre installed. Social media drivers will be added in 1.6

@josephmancuso josephmancuso self-assigned this Mar 17, 2018
@josephmancuso josephmancuso added enhancement New feature or request requires-discussion This is open for discussion. All ideas are welcome. should-be-a-package This should not be in the core package but instead of a third party package labels Mar 17, 2018
@josephmancuso josephmancuso added this to the Release 1.5.0 milestone Mar 17, 2018
@josephmancuso
Copy link
Member Author

This will also be it's own package. I want to start branching off and making official packages that will or will not be integrated out of the box.

@josephmancuso josephmancuso removed the requires-discussion This is open for discussion. All ideas are welcome. label Mar 23, 2018
@josephmancuso
Copy link
Member Author

Masonite 1.6 will release alongside Masonite Billing so this package can be at a future date and not in the near future

@josephmancuso josephmancuso modified the milestones: Masonite 1.6, Roadmap Apr 25, 2018
@josephmancuso josephmancuso added the can-reopen This can be reopened when any maintainer is available label Apr 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
can-reopen This can be reopened when any maintainer is available enhancement New feature or request should-be-a-package This should not be in the core package but instead of a third party package
Projects
None yet
Development

No branches or pull requests

1 participant