The service() API call _queues up the call_ - it does _not_ execute
it. So it won't return anything useful.
Also, do _not_ pass rc to the service call. FW/1 already passes
elements of rc to the service call. So you should have just:
<cfset variables.fw.service( 'loginauth.checkLoginType', 'login_type' ) />
> <cffunction name="endAuthenticate">
> <cfif rc.login_type EQ "">
At this point, rc.login_type should be set to the return value of your
service method so you should be OK.
> <cfset variables.fw.redirect('login.login')>
> <cfelse>
> <cfif rc.login_type EQ "emailID">
> <cfset authenticateOnEmailID(rc)>
> <cfelse>
> <cfset authenticateOnUserAccount(rc)>
> </cfif>
> </cfif>
> </cffunction>
Stylistically, calling other items in a controller is poor style:
controller methods should not call other controller methods.
Controllers should delegate to services.
Your service method should determine the login type and then do the
authentication and return a result that tells the controller whether
login was successful or not.
--
Sean A Corfield -- (904) 302-SEAN
Railo Technologies, Inc. -- http://getrailo.com/
An Architect's View -- http://corfield.org/
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood