-
Notifications
You must be signed in to change notification settings - Fork 41
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
Implement Rocket.Chat Auth Component #42
Comments
I would like to work on this issue, thank you |
Hello @renovX First of all, please set up the local development environment, if you have any questions or difficulty setting up the environment, please feel free to ping me here or on Rocket Chat.Q. What's the use of this Authentication, and for which? Please feel free to contact me on Rocket Chat (if you are already in the Open Server) for any related questions. I would be happy to answer them. Or, if you feel comfortable with GitHub, you can comment here. Thank you! |
Hey, this seems like an interesting issue to work on. I've run experiments on authentication strategies on NextJS for some of my projects. I was hoping I could work on this, plus this would help me learn more about Rocket(dot)chat. Looking forward to this ✌🏼 |
Hey, @adarsh500 . I was looking around this issue on Tuesday and was setting it up before having this issue. Would you mind to work together? Asking cause it would solve two issues including RocketChat/RC4Community#185 |
Hello @adarsh500, hello @Nabhag8848 I appreciate your interest. Could you please explain your approach before taking up the issue? And also, currently, if you look into the RC authentication using Google OAuth implemented here, we are using custom functions to handle the Authentication that needs to be refactored to use NextAuth, so please do consider this requirement while researching more about the solution. Looking forward to your amazing approaches. Thank you! PS. A nice idea you both can work together on this if both parties agree; this will be good for community bonding. |
This is a brief idea of how the [...nextAuth].ts file would look like if we add the new sign on methods. This approach handles the requirements of adding google, github and credentials
We can also add custom logic to handle cookies manually (IF REQUIRED), I would love to get more feedback on this approach. What do you think @Dnouv @Sing-Li @Nabhag8848? |
Hey @adarsh500 Thanks for explaining the initial approach. That's great you took care of explaining the different functions where we handle the 2FA and cookies. Minor addition, we will need a custom OAuth provider for the RC Authentication based on the Google OAuth; here is how the authentication works in RC -> https://developer.rocket.chat/reference/api/rest-api/endpoints/other-important-endpoints/authentication-endpoints/google We make use of the tokens returned from Google OAuth to make a call to the REST API, passing it as one of the parameters. It would be great if you could look into the current codebase of RC4Conference's using the Google OAuth for RC Authentication, this will help you understand things more better. Once you figure it out, you will be good to start writing the code. Thank you! |
Hey @Dnouv, I apologize for the delay in response. I think that would be pretty easy to handle. We can make the request to the REST API inside the |
No problem, thanks! Please go ahead to implement this feature. I'm really looking forward to your contributions. Thank you! |
Hey @Dnouv, I apologize for the delay in updates, I had my exams. I have setup the basic functionality for these authentication strategies
I'm currently in the process of implementing 2FA I have a draft PR that shows my current work: #96 |
No, problem; please let me know once it is ready for review. Thank you! |
Here's the update on this issue
|
Create a component that supports Rocket.Chat auth (and then populate / link superprofile, plus addiitonal data - making them available to components using RC4Community framework )
At a minimum supporting:
Leverage the work already done by @sidmohanty11 in his embedded chat component
The text was updated successfully, but these errors were encountered: