From c02a01914ab67c2bc25850034a75ee1046fd6870 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 17 Jun 2008 09:35:01 -0400 Subject: start openid rp integration darcs-hash:20080617133501-84dde-adec156ac58b84cce41ae0e9bde58cf7637e6c42.gz --- actions/openidlogin.php | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 actions/openidlogin.php (limited to 'actions') diff --git a/actions/openidlogin.php b/actions/openidlogin.php new file mode 100644 index 000000000..0a5182a61 --- /dev/null +++ b/actions/openidlogin.php @@ -0,0 +1,57 @@ +. + */ + +if (!defined('LACONICA')) { exit(1); } + +class OpenidloginAction extends Action { + + function handle($args) { + parent::handle($args); + if (common_logged_in()) { + common_user_error(_t('Already logged in.')); + } else if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $this->start_openid_login(); + } else { + $this->show_form(); + } + } + + function show_form($error=NULL) { + common_show_header(_t('OpenID Login')); + if ($error) { + common_element('div', array('class' => 'error'), $error); + } else { + common_element('div', 'instructions', + _t('Login with an OpenID account.')); + } + common_element_start('form', array('method' => 'POST', + 'id' => 'openidlogin', + 'action' => common_local_url('openidlogin'))); + common_input('openid_url', _t('OpenID URL')); + common_submit('submit', _t('Login')); + common_element_end('form'); + common_show_footer(); + } + + function check_login() { + # XXX: form token in $_SESSION to prevent XSS + # XXX: login throttle + $openid_url = $this->trimmed('openid_url'); + } +} -- cgit v1.2.3-54-g00ecf