Skip to content

Commit d55d80c

Browse files
authored
Fix Class does not comply with psr-4 autoloading standard (#403)
0 parents  commit d55d80c

File tree

3 files changed

+122
-0
lines changed

3 files changed

+122
-0
lines changed

Provider.php

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<?php
2+
3+
namespace SocialiteProviders\ThirtySevenSignals;
4+
5+
use SocialiteProviders\Manager\OAuth2\AbstractProvider;
6+
use SocialiteProviders\Manager\OAuth2\User;
7+
8+
class Provider extends AbstractProvider
9+
{
10+
/**
11+
* Unique Provider Identifier.
12+
*/
13+
const IDENTIFIER = 'THIRTYSEVENSIGNALS';
14+
15+
/**
16+
* {@inheritdoc}
17+
*/
18+
protected function getAuthUrl($state)
19+
{
20+
return $this->buildAuthUrlFromBase(
21+
'https://launchpad.37signals.com/authorization/new',
22+
$state
23+
);
24+
}
25+
26+
/**
27+
* {@inheritdoc}
28+
*/
29+
protected function getTokenUrl()
30+
{
31+
return 'https://launchpad.37signals.com/authorization/token';
32+
}
33+
34+
/**
35+
* {@inheritdoc}
36+
*/
37+
protected function getUserByToken($token)
38+
{
39+
$response = $this->getHttpClient()->get(
40+
'https://launchpad.37signals.com/authorization.json',
41+
[
42+
'headers' => [
43+
'Authorization' => 'Bearer '.$token,
44+
],
45+
]
46+
);
47+
48+
return json_decode($response->getBody()->getContents(), true);
49+
}
50+
51+
/**
52+
* {@inheritdoc}
53+
*/
54+
protected function mapUserToObject(array $user)
55+
{
56+
return (new User())->setRaw($user)->map([
57+
'id' => $user['identity']['id'], 'nickname' => null,
58+
'name' => $user['identity']['first_name'].' '.$user['identity']['last_name'],
59+
'email' => $user['identity']['email_address'], 'avatar' => null,
60+
]);
61+
}
62+
63+
/**
64+
* {@inheritdoc}
65+
*/
66+
protected function getTokenFields($code)
67+
{
68+
return array_merge(parent::getTokenFields($code), [
69+
'type' => 'web_server', 'grant_type' => 'authorization_code',
70+
]);
71+
}
72+
73+
/**
74+
* {@inheritdoc}
75+
*/
76+
protected function getCodeFields($state = null)
77+
{
78+
return array_merge(parent::getCodeFields($state), [
79+
'type' => 'web_server',
80+
]);
81+
}
82+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace SocialiteProviders\ThirtySevenSignals;
4+
5+
use SocialiteProviders\Manager\SocialiteWasCalled;
6+
7+
class ThirtySevenSignalsExtendSocialite
8+
{
9+
/**
10+
* Register the provider.
11+
*
12+
* @param \SocialiteProviders\Manager\SocialiteWasCalled $socialiteWasCalled
13+
*/
14+
public function handle(SocialiteWasCalled $socialiteWasCalled)
15+
{
16+
$socialiteWasCalled->extendSocialite(
17+
'37signals',
18+
__NAMESPACE__.'\Provider'
19+
);
20+
}
21+
}

composer.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "socialiteproviders/37signals",
3+
"description": "37Signals OAuth2 Provider for Laravel Socialite",
4+
"license": "MIT",
5+
"authors": [{
6+
"name": "Brian Faust",
7+
"email": "hello@brianfaust.de"
8+
}],
9+
"require": {
10+
"php": "^5.6 || ^7.0",
11+
"ext-json": "*",
12+
"socialiteproviders/manager": "~2.0 || ~3.0"
13+
},
14+
"autoload": {
15+
"psr-4": {
16+
"SocialiteProviders\\ThirtySevenSignals\\": ""
17+
}
18+
}
19+
}

0 commit comments

Comments
 (0)