-
-
Couldn't load subscription status.
- Fork 151
Implemented a comprehensive OAuth authentication system for TalkHeal #596
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
base: main
Are you sure you want to change the base?
Conversation
|
@eccentriccoder01 Please review the PR |
|
@gaurav123-4 The preview deployment of your commit shows this error:
|
|
@eccentriccoder01 Okay Let me fix this issue. |
β¦tion and to support both new and older Streamlit query parameter APIs
|
@eccentriccoder01 Please check now is the problem solved. |
|
@gaurav123-4 It is still failing... Kindly give me a working streamlit cloud deployment link of your own fork |
|
@eccentriccoder01 Please check for the last time. |
|
@gaurav123-4 I asked for a streamlit cloud deployment link of your fork... If possible, kindly provide it... |
|
@eccentriccoder01 the error also occured in my deployment but i fixed it please check |
|
@gaurav123-4 I'm not sure if you're understanding what I'm saying. I'm asking for a working deployment link, if possible kindly provide it. |
|
@eccentriccoder01 Okay i will provide you a deployment link of the website |
|
@gaurav123-4 Localhost is not a deployment buddy |
|
@eccentriccoder01 When you will click on it it will direct you to it |
This is the error in your deployment:
|
|
@eccentriccoder01 Okay i will work on it . |
|
@eccentriccoder01 I have fixed the issue you can check now |


π Related Issue
I have successfully implemented a comprehensive OAuth authentication system for TalkHeal. Here's what has been added:
β What's Been Implemented:
OAuth Configuration System (auth/oauth_config.py)
Support for Google, GitHub, and Microsoft OAuth providers
Environment-based configuration
Secure redirect URI handling
OAuth Utility Functions (auth/oauth_utils.py)
Secure state parameter generation and validation
Token exchange and user data retrieval
User data normalization across providers
Database integration for OAuth users
OAuth Callback Handler (pages/oauth_callback.py)
Handles OAuth callbacks from providers
Error handling and user feedback
Automatic redirection after successful authentication
Updated Login Page (components/login_page.py)
Beautiful OAuth provider buttons
Responsive design for mobile and desktop
Integration with existing authentication flow
Database Schema Updates (auth/auth_utils.py)
Added OAuth-specific fields to user table
Backward compatibility with existing users
Support for provider-specific user data
Documentation & Setup
Comprehensive setup guide (OAUTH_SETUP.md)
Updated README with OAuth information
Test script (test_oauth.py)
Demo script (oauth_demo.py)
Easy launcher script (run_app.py)
π Security Features:
CSRF Protection: Secure state parameter validation
Token Security: Proper token exchange and storage
User Data Normalization: Consistent data handling across providers
Session Management: Secure session creation and management
Error Handling: Comprehensive error handling and user feedback
π How to Use:
Set up OAuth providers (Google, GitHub, Microsoft)
Configure environment variables in .env file
Run the application: python run_app.py or streamlit run TalkHeal.py
Test OAuth setup: python test_oauth.py
π± User Experience:
Multiple Login Options: Traditional email/password, OAuth, or guest access
Beautiful UI: Responsive OAuth buttons with provider-specific styling
Seamless Integration: OAuth users get the same experience as regular users
Mobile Friendly: Responsive design works on all devices
π Technical Details:
Framework: Streamlit with custom OAuth implementation
Database: SQLite with OAuth user support
Security: Industry-standard OAuth 2.0 flow
Providers: Google, GitHub, Microsoft (easily extensible)
Compatibility: Works with existing authentication system
The OAuth implementation is now ready to use! Users can sign in with their social accounts for a faster, more convenient authentication experience while maintaining the same level of security and functionality as the traditional login system.
Link the related issue using GitHub's linking syntax:
π― Rationale
π Summary of Changes
π§ Technical Details
β Testing
Test Coverage
Test Details
π Documentation
π Breaking Changes
π¨ User-Facing Changes
Frontend Changes
Backend/API Changes
π Checklist
Code Quality
Review Readiness
Security & Performance
π Deployment Notes
πΈ Screenshots/Demo
π Reviewer Notes