I have been planning to create a laravel+vuejs apps stretching across subdomains (presentation creator, forms creator, polls creator etc.,each in a subdomain) and will have 2 version of the same web app (indian version with different languages and content and international with different language and content) in 2 different domain say domain.in and domain.com but I want users from any app or domain to login with the single user login say from passport.domain.com we have WAP versions of the websites served from wap.domain.in and wap.domain.com and also mobile apps for both.
- Now, normal users based on the userid and password, the user from .com domain will
be able to access apps and content only from .com domain and .in
will be able to access only from .in - Users will be able to login using facebook, linkedin, google, etc.,
- We will have only a single app for iOS and Android and based on the username and password the apps will be able to access corresponding domain.
- wap sites will login using the same passport.domain.com
- mobile app will be able to access data from the domain through an appID and Key.
- others will be able to embed the presentations and forms into their website using an api key and secret.
- certain users will be able to transfer data created in one domain to another user in the other domain
- admin users will be able to transfer data from both domains.
- other platforms may be able to login using the user id from this platform.
is all this part of SSO (Single sign on) ?
is this achievable in laravel ?
is it advisable to write the sign in server in a different framework ?
different tech like SAML Outh2.0 and Open ID with terms like Authorization, authentication and id provider make it all confusing and baffling for a start up.
can some one tell me what tech are involved in the above process. and what one should be aware before jumping in to start development.
2
Answers
This is not a Solution but an article I stumbled upon which explain the terminologies involved in user authentication and SSO.
Laravel authentication an overview
Hope this helps others who are looking for an answer like me now or in future.
That’s a lot of questions 🙂
IS IT POSSIBLE?
OAuth 2.0 based technologies will give you the best options, since:
WILL OAUTH DO EVERYTHING?
No it will not – you will need to build most of the above behaviour yourself, and implement a software architecture, as for any other security technology.
An Authorization Server will externalise logins / passwords and issue tokens. Your apps will then need to implement ‘flows’ including:
GUIDANCE
When new to OAuth tech the best choices and design patterns are not clear, as you indicate. If it helps, my blog has some details you may find useful, but it is not a simple journey:
Blog Index