Code Duplication    Length = 10-13 lines in 3 locations

src/Providers/DoubanProvider.php 1 location

@@ 44-53 (lines=10) @@
41
    /**
42
     * {@inheritdoc}.
43
     */
44
    protected function getUserByToken(AccessTokenInterface $token)
45
    {
46
        $response = $this->getHttpClient()->get('https://api.douban.com/v2/user/~me', [
47
            'headers' => [
48
                'Authorization' => 'Bearer '.$token->getToken(),
49
            ],
50
        ]);
51
52
        return json_decode($response->getBody()->getContents(), true);
53
    }
54
55
    /**
56
     * {@inheritdoc}.

src/Providers/WeWorkProvider.php 2 locations

@@ 147-157 (lines=11) @@
144
     *
145
     * @return mixed
146
     */
147
    protected function getUserInfo(AccessTokenInterface $token)
148
    {
149
        $response = $this->getHttpClient()->get('https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo', [
150
            'query' => array_filter([
151
                'access_token' => $token->getToken(),
152
                'code' => $this->getCode(),
153
            ]),
154
        ]);
155
156
        return json_decode($response->getBody(), true);
157
    }
158
159
    /**
160
     * Get user detail info.
@@ 167-179 (lines=13) @@
164
     *
165
     * @return mixed
166
     */
167
    protected function getUserDetail(AccessTokenInterface $token, $ticket)
168
    {
169
        $response = $this->getHttpClient()->post('https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail', [
170
            'query' => [
171
                'access_token' => $token->getToken(),
172
            ],
173
            'json' => [
174
                'user_ticket' => $ticket,
175
            ],
176
        ]);
177
178
        return json_decode($response->getBody(), true);
179
    }
180
181
    /**
182
     * @param array $user