ruby on rails - Authentication: Custom or Third Party -


i'm creating app in ruby on rails , have research devise, omniauth, , creating own custom version.

my question is: scenarios in use 1 of 3 choices above?

my take: - omniauth can provide quick registration through third party apis, require additional permissions access additional data - devise provides core functionality can customized based on applications needs - custom may extreme scenarios which, currently, not need

** i'm leaning towards devise provides core , allows me add onto that

additional considerations: - application needs sign in , access basic information for: location, language i18n, etc - application financial transactions (if you're paid member, et al).

going question: based on above, devise seem better choice? omniauth provide these features? when should use 1 versus other?

thanks

devise , omniauth different things - , used together.

devise provides full authentication package views, controllers , routes allow users sign up, edit user profiles, reset passwords, etc. devise can used without database authentication module provides signup via email password.

omniauth framework authentication users via oauth. omniauth unlike devise not ship views or controllers. instead need integrate oauth callbacks app. omniauth abstract away differences between different providers.

both can used provide user authentication via password or oauth example.

rolling own authentication solution not advisable. projects devise have hundreds if not thousands of man-hours behind them , many eyes viewing code base flaws. crappy home rolled auth solutions companies not invented here syndrom 1 of common security failures have lead user data , passwords being leaked.


Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

javascript - Get parameter of GET request -

javascript - Twitter Bootstrap - how to add some more margin between tooltip popup and element -