>  기사  >  백엔드 개발  >  PHP는 QQ 로그인 원칙과 프로세스 공유를 구현합니다.

PHP는 QQ 로그인 원칙과 프로세스 공유를 구현합니다.

小云云
小云云원래의
2018-02-05 09:13:261262검색

편집자는 QQ 로그인 페이지를 모방하기 위해 HTML을 사용했지만 PHP에서 QQ 로그인을 구현하는 원칙은 여전히 ​​더 좋습니다. 제3자 로그인은 QQ, WeChat, Weibo 등과 같은 친숙한 제3자 소프트웨어를 사용하여 로그인하는 것을 의미합니다. 이를 통해 계정을 등록할 필요가 없고 사용자를 신속하게 유지하며 상대적으로 복잡한 등록 프로세스를 없앨 수 있습니다. 다음으로 PHP를 사용하여 QQ 로그인 기능을 개발하는 방법을 알려드리겠습니다.

1. QQ 인터넷 공식 홈페이지에 접속하여 로그인합니다. (자신의 QQ를 사용하거나 관리를 위해 QQ 번호를 별도의 QQ로 재등록할 수 있습니다.) 주소: https://connect.qq.com /

2. "애플리케이션 관리"를 클릭하면 관련 애플리케이션이 생성되는 QQ 인터넷 관리 센터에 들어가며 웹사이트 애플리케이션과 모바일 애플리케이션으로 구분됩니다. 정보를 입력하고 싶은 앱을 선택하세요. (심사를 위해 약 7일 정도 소요됩니다.) 심사를 통과하시면 APP ID

와 APP Key를 받으실 수 있으니, 작은 노트를 챙겨가서 적어주세요! 노트를 가져가서 적어주세요! 노트를 가져가서 적어주세요! (중요한 내용을 세 번 말하세요!!!)

3. 리뷰를 통과한 후 관련 인터페이스를 얻습니다: get_user_info.

4. QQ 인터넷 관련 데모 다운로드 http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD PHP SDK v2.1

5을 다운로드했습니다. , 우리는 4개의 폴더와 2개의 파일을 포함하고 있다는 것을 알게 될 것입니다. 그 중 가장 중요한 것은 API 폴더입니다. 나머지는 무시해도 됩니다. 이 문서를 단계별로 따르면 됩니다. 로그인 기능을 구현합니다.

6. API 폴더를 프로젝트에 복사하세요. 복사할 프로젝트의 폴더는 가져올 수 있다면 미리 준비한 후 코드를 작성하세요. .

7. 프로젝트에 복사한 API 폴더를 엽니다. 그 안에 comm 폴더가 있습니다. comm을 다시 열면 inc.php라는 파일이 보일 것입니다. 위에 적힌 APPID와 APPKEY를 해당 위치에 입력하세요. 대략적인 형태는 다음과 같습니다 

55e98c1d26cba6a8fe1e534260024a65
{"appid":"Your appid" ,"appkey":"your appkey","callback":"your website callback domain","scope":"get_user_info"}

8 코드는 다음과 같습니다


<?php
/**
 * Created by PhpStorm.
 * User: qichao
 * Date: 2018/1/31
 * Time: 下午7:22
 */
namespace wechat\controllers;


use wechat\common\BaseController;

require(__DIR__ . &#39;/../tools/API/qqConnectAPI.php&#39;); //引入QQ互联SDK,这是按照我自己项目的路径引入的。

class QqloginController extends BaseController{
 //登录方法
 public function actionQqlogin(){
  $qc = new \QC();
  $qc->qq_login();
 }
 //这个方法是当你通过QQ登录成功以后想要跳转回来的地址,比如你想登录成功以后跳转到百度,那你把下文的$url改为百度链接即可!
 public function actionCallback(){
  header("Content-type: text/html; charset=utf-8");
    /*       这里请根据你的项目开发需求(比如获取登录用户的昵称、头像、年龄等等),进行相关代码的开发,具体数据获取方法,请查阅QQ互联文档
  $qc = new \QC();
  $access_token = $qc->qq_callback();

  $openid = $qc->get_openid();
  */
  $url = "http://wechat.xxx.cn/index.php?r=cms/home";
  header("Location:".$url);
  exit();
 }
}

지금까지의 전체 프로세스는 다음과 같습니다. 끝났습니다. 쉽습니다! ! ! 전체 기능 프로세스는 아래 그림과 유사합니다.

개발 프로세스 중에 다음과 같은 문제가 발생하는 경우:

file_get_contents(): 래퍼 "https"를 찾을 수 없습니다. 활성화하는 것을 잊었나요? PHP를 구성할 때 ?

이 오류의 원인은 매우 간단합니다. php 구성의 암호화 모듈이 켜져 있지 않습니다.

해결 방법: 1. (windows) php.ini 구성 파일에서 파란색으로 표시된 위치를 찾습니다. 아래 그림, 확장자 입력 = php_openssl.dll 앞의 세미콜론을 제거하세요

Apache나 nginx 서버를 제거한 후 다시 시작하고 다시 접속하시면 이 오류가 발생하지 않습니다.

2. Linux 기반 PHP의 경우 openssl 모듈을 설치해야 설치 후 액세스할 수 있습니다.

관련 권장 사항:

OAuth2.0에 로그인하기 위해 PHP를 QQ에 연결하는 과정에서 발생하는 함정 공유

PHP 타사 로그인 QQ 로그인 비디오 튜토리얼

Moodle의 qq 로그인 사용 섹션


위 내용은 PHP는 QQ 로그인 원칙과 프로세스 공유를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.