Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class HomeController extends Controller
- {
- private function getUserInformation(Request $request, $token) {
- $url = 'https://api.vk.com/method/users.get';
- $params = array(
- 'uid' => $request->session()->get('user_id'),
- 'access_token' => $token,
- 'fields' => 'first_name,last_name'
- );
- $userInfo = json_decode(file_get_contents($url . '?' . urldecode(http_build_query($params))), true);
- return $userInfo;
- }
- private function getFriends(Request $request, $token) {
- $url = 'https://api.vk.com/method/friends.get';
- $params = array(
- 'access_token' => $token,
- 'order' => 'random',
- 'count' => 5,
- 'offset' => 3,
- 'fields' => 'first_name,last_name'
- );
- $friends = json_decode(file_get_contents($url . '?' . urldecode(http_build_query($params))), true);
- return $friends;
- }
- public function index(Request $request) {
- $clientId = 0;
- $clientSecret = '0';
- $redirectUri = 'http://u3835.red.elastictech.org/';
- $display = 'page';
- $scope = 'friends';
- $responseType = 'code';
- if($request->session()->has('token')){
- $token = $request->session()->get('token');
- return view('auth',[
- 'user_info' => $this->getUserInformation($request, $token),
- 'friends' => $this->getFriends($request, $token)
- ]);
- } else if ($request->has('code')) {
- $url = 'https://oauth.vk.com/access_token';
- $code = $request->input('code');
- $params = array(
- 'client_id' => $clientId,
- 'redirect_uri' => $redirectUri,
- 'client_secret' => $clientSecret,
- 'code' => $code
- );
- $query = $url . '?' . urldecode(http_build_query($params));
- $response = json_decode(file_get_contents($query, true));
- $request->session()->put('token', $response['access_token']);
- $request->session()->put('user_id', $response['user_id']);
- return redirect('/');
- } else if ($request->has("error")){
- return view('welcome', [
- 'error' => $request->input("error"),
- 'error_description' => $request->input("error_description")
- ]);
- } else {
- $url = 'https://oauth.vk.com/authorize';
- $params = array(
- 'client_id' => $clientId,
- 'redirect_uri' => $redirectUri,
- 'display' => $display,
- 'scope' => $scope,
- 'response_type' => $responseType
- );
- $query = $url . '?' . urldecode(http_build_query($params));
- return view('welcome', [
- 'query' => $query
- ]);
- }
- }
- public function logout(Request $request){
- $request->session()->flush();
- return redirect('/');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment