Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jackdpeterson/f2e339836b7f88007040 to your computer and use it in GitHub Desktop.
Save jackdpeterson/f2e339836b7f88007040 to your computer and use it in GitHub Desktop.
Observer sample for Oauth2
<?php
namespace ZF\OAuth2\Observer;
use SplObserver;
use SplSubject;
class SyslogObserverImpl implements SplObserver
{
public function update(SplSubject $subject)
{
try {
$event = $subject->getMostRecentObservableEvent();
$req = json_encode($event->getDetails()['request']);
$reqArr = json_decode($req, true);
if (array_key_exists('request', $reqArr) && array_key_exists('password', $reqArr['request']))
$reqArr['request']['password'] = 'OBFUSCATED';
$req = json_encode($reqArr);
// $details = preg_replace('/\"password\":\".*\"/ig', '"password":"OBFUSCATED"', $details);
syslog(LOG_INFO, 'OAuth2 Observer: Type:' . $event->getType() . ', Message: ' . $event->getMessage() . ', Request Details: ' . $req);
} catch (\Exception $e) {
syslog(LOG_ERR, 'Oauth2SyslogObserver - ' . $e->getMessage() . ' - ' . $e->getTraceAsString());
}
}
}
?>
...
Inside of Oauth2ServerInstanceFactory
$observer = new SyslogObserverImpl();
$server->attach($observer);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment