services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
/**
     * protocol independent login page entry point
     *
     *
     * @param code
     * @return
     */
protocol independent login page entry point
@param code
@return
protocol independent login page entry point @param code @return
@Path("login")
    @GET
    public Response loginPage(@QueryParam("code") String code) {
        event.event(EventType.LOGIN);
        Checks checks = new Checks();
        if (!checks.check(code)) {
            return checks.response;
        }
        event.detail(Details.CODE_ID, code);
        ClientSessionCode clientSessionCode = checks.clientCode;
        ClientSessionModel clientSession = clientSessionCode.getClientSession();
        if (clientSession.getAction().equals(ClientSessionModel.Action.RECOVER_PASSWORD)) {
            TokenManager.dettachClientSession(session.sessions(), realm, clientSession);
            clientSession.setAction(ClientSessionModel.Action.AUTHENTICATE);
        }
        return session.getProvider(LoginFormsProvider.class)
                .setClientSessionCode(clientSessionCode.getCode())
                .createLogin();
    }
@ Path ( "login" ) @ GET public Response loginPage ( @ QueryParam ( "code" ) String code ) { event . event ( EventType . LOGIN ) ; Checks checks = new Checks ( ) ; if ( ! checks . check ( code ) ) { return checks . response ; } event . detail ( Details . CODE_ID , code ) ; ClientSessionCode clientSessionCode = checks . clientCode ; ClientSessionModel clientSession = clientSessionCode . getClientSession ( ) ; if ( clientSession . getAction ( ) . equals ( ClientSessionModel . Action . RECOVER_PASSWORD ) ) { TokenManager . dettachClientSession ( session . sessions ( ) , realm , clientSession ) ; clientSession . setAction ( ClientSessionModel . Action . AUTHENTICATE ) ; } return session . getProvider ( LoginFormsProvider . class ) . setClientSessionCode ( clientSessionCode . getCode ( ) ) . createLogin ( ) ; }
protocol independent login page entry point
 @param code
 @return
protocol independent login page entry point @param code @return