Last active
January 27, 2016 08:36
-
-
Save jackdpeterson/f2e339836b7f88007040 to your computer and use it in GitHub Desktop.
Observer sample for Oauth2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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