@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at upstream/main 73 lines 1.8 kB view raw
1<?php 2 3final class PhutilBitbucketAuthAdapter extends PhutilOAuth1AuthAdapter { 4 5 private $userInfo; 6 7 public function getAccountID() { 8 return idx($this->getUserInfo(), 'username'); 9 } 10 11 public function getAccountName() { 12 return idx($this->getUserInfo(), 'display_name'); 13 } 14 15 public function getAccountURI() { 16 $name = $this->getAccountID(); 17 if (phutil_nonempty_string($name)) { 18 return 'https://bitbucket.org/'.$name; 19 } 20 return null; 21 } 22 23 public function getAccountImageURI() { 24 return idx($this->getUserInfo(), 'avatar'); 25 } 26 27 public function getAccountRealName() { 28 $parts = array( 29 idx($this->getUserInfo(), 'first_name'), 30 idx($this->getUserInfo(), 'last_name'), 31 ); 32 $parts = array_filter($parts); 33 return implode(' ', $parts); 34 } 35 36 public function getAdapterType() { 37 return 'bitbucket'; 38 } 39 40 public function getAdapterDomain() { 41 return 'bitbucket.org'; 42 } 43 44 protected function getRequestTokenURI() { 45 return 'https://bitbucket.org/api/1.0/oauth/request_token'; 46 } 47 48 protected function getAuthorizeTokenURI() { 49 return 'https://bitbucket.org/api/1.0/oauth/authenticate'; 50 } 51 52 protected function getValidateTokenURI() { 53 return 'https://bitbucket.org/api/1.0/oauth/access_token'; 54 } 55 56 private function getUserInfo() { 57 if ($this->userInfo === null) { 58 // We don't need any of the data in the handshake, but do need to 59 // finish the process. This makes sure we've completed the handshake. 60 $this->getHandshakeData(); 61 62 $uri = new PhutilURI('https://bitbucket.org/api/1.0/user'); 63 64 $data = $this->newOAuth1Future($uri) 65 ->setMethod('GET') 66 ->resolveJSON(); 67 68 $this->userInfo = idx($data, 'user', array()); 69 } 70 return $this->userInfo; 71 } 72 73}