Ok i did it its like this , with the help of http://www.web2pyslices.com/slices/take_slice/124 :
db.py : from gluon.contrib.login_methods.rpx_account import RPXAccount from gluon.contrib.login_methods.extended_login_form import ExtendedLoginForm url = "http://localhost:8000/%s/default/user/login" % request.application rpxform = RPXAccount(request, api_key='a096b5b9ccb5cdecb2d29ab993746e10338b4d3b', domain='hassanalnator', url = url, embed=True ) in the controller : def user(): rpx = '' registerurl=URL('default','user',args='register',vars=dict(_next='/ %s/default/index'%request.application)) if request.vars.token: auth.settings.login_form = rpxform return dict(form=auth()) if 'login' in request.args: rpx = rpxform.login_form() html = DIV(H1('Login'), rpx,BR(),BR(), H1(A('Click here to register', _href=registerurl),BR(), 'Or sign-in using your email and password'), auth(), ) else: html = auth() return dict(form=html) and in the user view : {{extend 'layout.html'}} {{title=dict( login='', register=H1('Register'), logout=H1('Logged out'), profile=H1('Change your profile'), change_password=H1('Change your password'), request_reset_password=H1('Reset your password'), reset_password=H1('Define a new password'), verify_email=H1('Verification mail'), retrieve_username=H1('Request username'), not_authorized=H1('Denied!') )}} {{=title[request.args(0)]}} {{=form}} {{if request.args(0)=='login':}} {{if not 'request_reset_password' in auth.settings.actions_disabled:}} <br/><a href="{{=URL(r=request,args='request_reset_password')}}">Remember Password</a> {{pass}} {{pass}} Enjoy ...

