Authentication in Joomla! 1.5. About Me  Born in Feb 1979, started in the computing industry with Pong.  In the late ‘80s moved into the Commodore 64.

Slides:



Advertisements
Similar presentations
Inter WISP WLAN roaming
Advertisements

MFA for Business Banking – Security Questions with 2nd Request Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing.
MFA for Business Banking – Security Code Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing these QT sheets.
MFA for Business Banking – Security Questions with Reset Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing.
Suchin Rengan Principal Technical Architect Salesforce.com
LIS651 lecture 3 taming PHP Thomas Krichel
Core Data Trial in North West Institute of Further & Higher Education 27 May 2003 Greg McClure Maureen McKee Davey OHare.
Different Approaches to Single-Sign-On Jeff Kahn, Verbena Consulting.
CookiesPHPMay-2007 : [‹#›] Maintaining State in PHP Part I - Cookies.
Authentication in Joomla! 1.5 Presented By: Jason Kendall Joomla! Development Workgroup.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
METALOGIC s o f t w a r e © Metalogic Software Corporation DACS Developer Overview DACS – the Distributed Access Control System.
Forms Authentication, Users, Roles, Membership Ventsislav Popov Crossroad Ltd.
NHnetWORKS December 14,  Facebook is a global Social Networking website that is operated and privately owned by Facebook, Inc.  Users can add.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Securing web applications using Java EE Dr Jim Briggs 1.
WEB2P security Java web application security Dr Jim Briggs.
KerberSim CMPT 495 Fall 2004 Jerry Frederick. Project Goals Become familiar with Kerberos flow Create a simple Kerberos simulation.
POP Configuration Microsoft Outlook Express 6.x.
Setting up in Outlook Express. Select “Tools” from the toolbar menu.
POP Configuration Microsoft Outlook What is POP? Short for Post Office Protocol, a protocol used to retrieve from a mail server. Most.
Implementing RADIUS AAA Phil & Rick. Content Terms and Concepts Access Control What is AAA? Benefits of AAA What is RADIUS? Microsoft IAS Overview Installation.
Overview What are the provisioning methods used in the Australian registry system? How are these provisioning systems secured?
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
Session 11: Security with ASP.NET
Cookies Set a cookie – setcookie() Extract data from a cookie - $_COOKIE Augment user authentication script with a cookie.
CHAPTER 12 COOKIES AND SESSIONS. INTRO HTTP is a stateless technology Each page rendered by a browser is unrelated to other pages – even if they are from.
Forms Authentication, Users, Roles, Membership Svetlin Nakov Telerik Corporation
FTP (File Transfer Protocol) & Telnet
Week 1 – Seneca Networking Environment. Agenda Overview of Seneca Server names How to access servers Terminal Emulation (Putty) Browser – IE, Netscape,
WaveMaker Visual AJAX Studio 4.0 Training Authentication.
GMOD Chado: to a Model-View-Controller (MVC) architecture? Valentin GUIGNON ID, DAP, BIOS CIRAD Montpellier.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Securing a Microsoft ASP.NET Web Application.
SSL, Single Sign On, and External Authentication Presented By Jeff Kelley April 12, 2005.
Identity on Force.com & Benefits of SSO Nick Simha.
Sayed Ahmed Computer Engineering, BUET, Bangladesh MSc., Computer Science, Canada
Feedback #2 (under assignments) Lecture Code:
Chapter 6: Authentications. Training Course, CS, NCTU 2 Overview  Getting Username and Password  Verifying Username and Password  Keeping The Verification.
Web Authentication at Iowa Ed Hill Software Developer The University of Iowa.
Module 11: Securing a Microsoft ASP.NET Web Application.
Web Database Programming Week 7 Session Management & Authentication.
Cookies and Sessions IDIA 618 Fall 2014 Bridget M. Blodgett.
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
Integrating and Troubleshooting Citrix Access Gateway.
PHP Secure Communications Web Technologies Computing Science Thompson Rivers University.
1 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 2: REST Details and Patterns Some.
ICM – API Server & Forms Gary Ratcliffe.
24 October 2007 Fernando Lucas Rodriguez Adaptation of HyperNews for the NICE (SSO) authentication.
Session Management Tyler Moore CS7403 University of Tulsa Slides adapted in part or whole from Dan Boneh, Stanford CS155 1.
VPN. CONFIDENTIAL Agenda Introduction Types of VPN What are VPN Tokens Types of VPN Tokens RSA How tokens Work How does a user login to VPN using VPN.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
© 2014 IBM Corporation Mobile Customization & Administration IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 30 minutes.
M M Waseem Iqbal.  Cause: Unverified/unsanitized user input  Effect: the application runs unintended SQL code.  Attack is particularly effective if.
MaaS360 MDM for iOS, Android & Windows Phone 7
Using Your Own Authentication System with ArcGIS Online
Ask the Experts – Building Login-Based Sites in AEM
Federation made simple
CAS and Web Single Sign-on at UConn
Multi-Factor Authentication
Fix Thunderbird Error 5.7.1 Call Toll-free
Use same User ID and password as computer login
Lesson 16-Windows NT Security Issues
All middle and high school students will have U-46 Google accounts for the school year Students will have access to their accounts at any time,
TaxSlayer Multi-Factor Authentication (MFA)
Office 365 Development.
Gmail Password Recovery
Chapter 7 Network Applications
On the off chance that your business utilizes Roadrunner as your Internet specialist organization, you will have at least one accounts. While you.
Presentation transcript:

Authentication in Joomla! 1.5

About Me  Born in Feb 1979, started in the computing industry with Pong.  In the late ‘80s moved into the Commodore 64 where I developed utilities in Basic (Yes, before I was 10).  Moved into a Tandy PC shortly there after when even more Basic programming was completed including a full blown login system.  I ran a BBS (‘The BBS Enterprise’) for 4 years and became a regular poster on the Fido Network.  First introduction to the Internet was via my high school to the time where we accessed gopher and telnet via a shared modem line.  I started with Slackware Linux in the early ‘90s and ever since then I’ve been working with new technologies including VoIP, and IPv6.  Started PHP development in Feb 2000 with my own concept of what is now known as MVC, although you wouldn’t know it.  I’m currently working as an Information Security Analyst and hold a number of certifications on computer networking and technologies.

Overview  Changes from 1.x  Structure/How it works  Code base details  Hello World Example  GMail Example  OpenID & our pit falls  Other schemes to implement  Questions

What has changed since 1.x?  Added Plug-in system using JDispatch  Ability to completely customize the authentication system from end to end  Ability for end plug-ins to overwrite user details for user auto-creation. ie: One can login with LDAP address, and rewrite the UserID to just the login  Enabled the creation of temp users from external plugins.

Structure Joomla! Application Joomla Auth OpenID Auth Other Auth Plugins LDAP Auth The Joomla! application sends the authentication request to all enabled plug-ins. The order is based on the plug- in rank in the manager. Each plug-in processes the request and sends back a status to the handler. The handler checks for a success and passes it off to the application. In the case of a failure, it logs the errors to JLog for analysis by the admin.

Code Base  function onAuthenticate( $username, $password )  Process an Authentication request  Gets a username and password  Returns a JAuthenticateResponse object  status  JAUTHENTICATE_STATUS_SUCCESS  JAUTHENTICATE_STATUS_FAILURE  error_message  Can be any text  Text should identify the error that occurred  Gets sent to JLog system to be logged  On failure end user will only see invalid credentials response  Can also return: username, fullname, password etc.

Code Base cont.  function onAuthenticateFailure( $username, $password )  Fires when only a failure is detected.  Can be used to clear details from J! or cookies on failure.

Code Base cont.  function onLoginUser( $response, $remember )  Processed on a successful login by a plugin  $response is the JAuthenticateResponse from the accepted plugin  $remember is set when the user wants to be remembered

Code Base cont.  function onLogoutUser( $parameters )  Processed on a logout request from user  $parameters is an array:  Username: The username being logged out  ID: The users ID

Code Base cont.  Extra events for syncing users include:  onBeforeStoreUser  onAfterStoreUser  onBeforeDeleteUser  onAfterDeleteUser

Hello World of Authentication function onAuthenticate( $username, $password ) { $return = new JAuthenticateResponse('example'); if ($username == “Hello” && $password == “World”) $return->type = JAUTHENTICATE_STATUS_SUCCESS; else $return->type = JAUTHENTICATE_STATUS_FAILURE; return $return; }

GMail Example function onAuthenticate( $username, $password ) { $return = new JAuthenticateResponse('gmail'); $curl = curl_init(" curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_USERPWD, "$username:$password"); $result = curl_exec($curl); $code = curl_getinfo ($curl, CURLINFO_HTTP_CODE); $message = ''; $success = 0; switch($code) { case 200: $message = 'Access Granted'; $success = 1; break; case 401: $message = 'Access Denied'; break; default: $message = 'Result unknown, access denied.'; break; } if ($success) { $return->status = JAUTHENTICATE_STATUS_SUCCESS; $return-> = $username; $return->fullname = $username; } else { $return->status = JAUTHENTICATE_STATUS_FAILURE; $return->error_message= 'Failed to authenticate: '. $message; } return $return; }

OpenID & Our Pit Falls  Issues  Cookie data needs to be sent to client  It must redirect to external site  It should return to the authentication plug-in  Limited Support in PHP4

OpenID & Our Pit Falls cont.  Used JSession to store cookies  Built URIs with JURI and redirected via $mainframe  Returned mimicking a login form response  Checked for cookie/session state to complete the request  Used SimpleXML to mimic OpenID requests

Other schemes  Radius  RSA SecurID  WiKID  Extendable External Databases (EED)  Google Account Authentication  Kerberos  IMap/POP3

Questions?