Skip to content

Commit c6a5adc

Browse files
authored
Merge pull request #11 from Staffbase/NFS-234-update-claims
NFS-234: adds branchId and branchSlug to token
2 parents db42747 + 8052f9b commit c6a5adc

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

src/SSOData.php

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ abstract class SSOData
2727
const CLAIM_ISSUER = 'iss';
2828
const CLAIM_INSTANCE_ID = 'instance_id';
2929
const CLAIM_INSTANCE_NAME = 'instance_name';
30+
const CLAIM_BRANCH_ID = 'branch_id';
31+
const CLAIM_BRANCH_SLUG = 'branch_slug';
3032
const CLAIM_USER_ID = 'sub';
3133
const CLAIM_USER_EXTERNAL_ID = 'external_id';
3234
const CLAIM_USER_FULL_NAME = 'name';
@@ -135,6 +137,28 @@ public function getIssuer() {
135137
return $this->getClaimSafe(self::CLAIM_ISSUER);
136138
}
137139

140+
/**
141+
* Get the branch id of the app that issued the token.
142+
*
143+
* The id will always be present.
144+
*
145+
* @return string
146+
*/
147+
public function getBranchId() {
148+
149+
return $this->getClaimSafe(self::CLAIM_BRANCH_ID);
150+
}
151+
152+
/**
153+
* Get the slug of the branch of the app that issued the token.
154+
*
155+
* @return null|string
156+
*/
157+
public function getBranchSlug() {
158+
159+
return $this->getClaimSafe(self::CLAIM_BRANCH_SLUG);
160+
}
161+
138162
/**
139163
* Get the (plugin) instance id for which the token was issued.
140164
*
@@ -313,5 +337,5 @@ public function isDeleteInstanceCall() {
313337
public function getData() {
314338

315339
return $this->getAllClaims();
316-
}
340+
}
317341
}

test/SSODataTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public static function getTokenData() {
4848
$tokenData[SSOData::CLAIM_THEME_BACKGROUND_COLOR] = '#FFAABB';
4949
$tokenData[SSOData::CLAIM_USER_LOCALE] = 'en_US';
5050
$tokenData[SSOData::CLAIM_USER_TAGS] = ['profile:field1:val', 'profile:field2:val'];
51+
$tokenData[SSOData::CLAIM_BRANCH_ID] = "dev-id";
52+
$tokenData[SSOData::CLAIM_BRANCH_SLUG] = "dev-slug";
5153

5254
return $tokenData;
5355
}
@@ -79,6 +81,8 @@ public static function getTokenAccesors() {
7981
$accessors[SSOData::CLAIM_THEME_BACKGROUND_COLOR] = 'getThemeBackgroundColor';
8082
$accessors[SSOData::CLAIM_USER_LOCALE] = 'getLocale';
8183
$accessors[SSOData::CLAIM_USER_TAGS] = 'getTags';
84+
$accessors[SSOData::CLAIM_BRANCH_ID] = "getBranchId";
85+
$accessors[SSOData::CLAIM_BRANCH_SLUG] = "getBranchSlug";
8286

8387
return $accessors;
8488
}
@@ -106,6 +110,8 @@ public static function getTokenAccesors() {
106110
* @covers \Staffbase\plugins\sdk\SSOData::getThemeBackgroundColor()
107111
* @covers \Staffbase\plugins\sdk\SSOData::getLocale()
108112
* @covers \Staffbase\plugins\sdk\SSOData::getTags()
113+
* @covers \Staffbase\plugins\sdk\SSOData::getBranchId()
114+
* @covers \Staffbase\plugins\sdk\SSOData::getTags()
109115
*/
110116
public function testAccessorsGiveCorrectValues() {
111117

test/SSOTokenTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ public static function createSignedTokenFromData($privateKey, $tokenData) {
7676
->set(SSOToken::CLAIM_THEME_BACKGROUND_COLOR, $tokenData[SSOToken::CLAIM_THEME_BACKGROUND_COLOR])
7777
->set(SSOToken::CLAIM_USER_LOCALE, $tokenData[SSOToken::CLAIM_USER_LOCALE])
7878
->set(SSOToken::CLAIM_USER_TAGS, $tokenData[SSOToken::CLAIM_USER_TAGS])
79+
->set(SSOToken::CLAIM_BRANCH_ID, $tokenData[SSOToken::CLAIM_BRANCH_ID])
80+
->set(SSOToken::CLAIM_BRANCH_SLUG, $tokenData[SSOToken::CLAIM_BRANCH_SLUG])
7981
->sign($signer, $keychain->getPrivateKey($privateKey))
8082
->getToken();
8183

@@ -110,6 +112,8 @@ private static function createUnsignedTokenFromData($tokenData) {
110112
->set(SSOToken::CLAIM_THEME_BACKGROUND_COLOR, $tokenData[SSOToken::CLAIM_THEME_BACKGROUND_COLOR])
111113
->set(SSOToken::CLAIM_USER_LOCALE, $tokenData[SSOToken::CLAIM_USER_LOCALE])
112114
->set(SSOToken::CLAIM_USER_TAGS, $tokenData[SSOToken::CLAIM_USER_TAGS])
115+
->set(SSOToken::CLAIM_BRANCH_ID, $tokenData[SSOToken::CLAIM_BRANCH_ID])
116+
->set(SSOToken::CLAIM_BRANCH_SLUG, $tokenData[SSOToken::CLAIM_BRANCH_SLUG])
113117
->getToken();
114118

115119
return $token;
@@ -336,6 +340,8 @@ public function testConstructorToFailOnUnsignedToken() {
336340
* @covers \Staffbase\plugins\sdk\SSOToken::getTags()
337341
* @covers \Staffbase\plugins\sdk\SSOToken::hasClaim()
338342
* @covers \Staffbase\plugins\sdk\SSOToken::getClaim()
343+
* @covers \Staffbase\plugins\sdk\SSOToken::getBranchId()
344+
* @covers \Staffbase\plugins\sdk\SSOToken::getBranchSlug()
339345
*/
340346
public function testAccessorsGiveCorrectValues() {
341347

0 commit comments

Comments
 (0)