Ok, got the AJAX clicky-throughs working for yammer auth (if app is already registered), but needs prettification. Yammer ignores callback URLs unless they're pre-registered with the app, and this apparently requires manual intervention to become a 'trusted' app, you don't get it on those you register yourself. Sigh. Also can't use an iframe since it breaks out of the frame (fair 'nuff)

This commit is contained in:
Brion Vibber 2010-09-27 12:34:01 -07:00
parent a57d67c915
commit c2de0a7407
2 changed files with 10 additions and 1 deletions

View File

@ -76,7 +76,7 @@ class YammeradminpanelAction extends AdminPanelAction
return $this->showAjaxForm($form); return $this->showAjaxForm($form);
} else if ($this->verify_token) { } else if ($this->verify_token) {
$this->runner->saveAuthToken($this->verify_token); $this->runner->saveAuthToken($this->verify_token);
$form = new YammerAuthProgressForm(); $form = new YammerProgressForm($this, $this->runner);
return $this->showAjaxForm($form); return $this->showAjaxForm($form);
} else { } else {
throw new ClientException('Invalid POST'); throw new ClientException('Invalid POST');

View File

@ -65,8 +65,17 @@ class YammerAuthVerifyForm extends Form
function formData() function formData()
{ {
$this->out->input('verify_token', _m('Verification code:'), '', _m("Click through and paste the code it gives you below...")); $this->out->input('verify_token', _m('Verification code:'), '', _m("Click through and paste the code it gives you below..."));
// iframe would be nice to avoid leaving -- since they don't seem to have callback url O_O
/*
$this->out->element('iframe', array('id' => 'yammer-oauth', $this->out->element('iframe', array('id' => 'yammer-oauth',
'src' => $this->runner->getAuthUrl())); 'src' => $this->runner->getAuthUrl()));
*/
// yeah, it ignores the callback_url
$this->out->element('a',
array('href' => $this->runner->getAuthUrl(),
'target' => '_blank'),
'clicky click');
} }
/** /**