Maison développement back-end tutoriel php oauth [PHP] Oauth授权和本地加密

oauth [PHP] Oauth授权和本地加密

Jul 28, 2016 am 08:27 AM
oauth

1.Oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方

 

关键字:appKey appSecret token(令牌)

 

2.SSO授权

如果本地手机装有微博客户端,则直接跳转到微博客户端,只需点击授权按钮,就可以登陆了

 

qq第三方登陆使用Oauth2.0实现,测试代码

点击下面的连接

https://graph.qq.com/oauth2.0/authorize?resp//www.qingguow.cn/sso.php

 

具体代码sso.php文件:

<span>php
</span><span>//</span><span> qq登陆类</span><span>class</span><span> Sso{
    </span><span>const</span> APP_ID="101334262"<span>;
    </span><span>const</span> APP_KEY="xxxxxxxxxxxxxxx"<span>;
    </span><span>//</span><span>初始化</span><span>public</span><span>static</span><span>function</span><span> init(){
        </span><span>header</span>("content-type:text/html;charset=utf-8"<span>);
    }
        </span><span>//</span><span>主函数</span><span>public</span><span>static</span><span>function</span><span> main(){
        </span><span>//</span><span>请求控制</span><span>$action</span>=<span>$_GET</span>['action'<span>];
        </span><span>if</span>(!<span>empty</span>(<span>$action</span><span>)){
            Sso</span>::<span>$action</span><span>();
            </span><span>return</span><span>;
        }
       
        </span><span>$par</span> = 'grant_type=authorization_code'
        . '&client_id='.Sso::<span>APP_ID
        </span>. '&client_secret='.Sso::<span>APP_KEY
        </span>. '&code='.<span>$_REQUEST</span>['code'<span>]
        </span>. '&redirect_uri='.<span>urlencode</span>('http://www.qingguow.cn/sso.php'<span>);
        </span><span>$rec</span>=Sso::postUrlContents("https://graph.qq.com/oauth2.0/token",<span>$par</span><span>);
        </span><span>if</span>(<span>strpos</span>(<span>$rec</span>, 'access_token') !== <span>false</span><span>) {
            </span><span>parse_str</span>(<span>$rec</span>, <span>$accessToken</span><span>);
            </span><span>$openidJson</span>=Sso::getUrlContents("https://graph.qq.com/oauth2.0/me?callback=callback&access_token={<span>$accessToken</span>['access_token']}"<span>);
            </span><span>$openidJson</span>=<span>str_replace</span>("callback( ", "", <span>$openidJson</span><span>);
            </span><span>$openidJson</span>=<span>str_replace</span>(");", "", <span>$openidJson</span><span>);
            </span><span>$openidJson</span>=json_decode(<span>$openidJson</span>,<span>true</span><span>);
            </span><span>header</span>("location:sso.php?action=getQQinfo&openid={<span>$openidJson</span>['openid']}&access_token={<span>$accessToken</span>['access_token']}"<span>);
        }
    }
    </span><span>//</span><span>获取用户信息</span><span>public</span><span>static</span><span>function</span><span> getQQinfo(){
        Sso</span>::<span>init();
        </span><span>$openid</span>=<span>$_GET</span>['openid'<span>];
        </span><span>$access_token</span>=<span>$_GET</span>['access_token'<span>];
        </span><span>$userJson</span>=Sso::getUrlContents("https://graph.qq.com/user/get_user_info?openid={<span>$openid</span>}&access_token={<span>$access_token</span>}&oauth_c>APP_ID);
        <span>$user</span>=json_decode(<span>$userJson</span>,<span>true</span><span>);
        </span><span>print_r</span>(<span>$user</span><span>);
    }
    </span><span>//</span><span>get方式请求数据</span><span>public</span><span>static</span><span>function</span> getUrlContents(<span>$url</span><span>){
        </span><span>$ch</span> =<span> curl_init();
        curl_setopt(</span><span>$ch</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_HEADER, <span>false</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_FOLLOWLOCATION, <span>true</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_URL, <span>$url</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_REFERER, <span>$url</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_RETURNTRANSFER, <span>TRUE</span><span>);
        </span><span>$result</span> = curl_exec(<span>$ch</span><span>);
        curl_close(</span><span>$ch</span><span>);
        </span><span>return</span><span>$result</span><span>;
    }
    </span><span>//</span><span>post请求数据</span><span>public</span><span>static</span><span>function</span> postUrlContents(<span>$url</span>,<span>$data</span> = <span>null</span><span>){
        </span><span>$curl</span> =<span> curl_init();
        curl_setopt(</span><span>$curl</span>, CURLOPT_URL, <span>$url</span><span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span><span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_SSL_VERIFYHOST, <span>FALSE</span><span>);
        </span><span>if</span> (!<span>empty</span>(<span>$data</span><span>)){
        curl_setopt(</span><span>$curl</span>, CURLOPT_POST, 1<span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_POSTFIELDS, <span>$data</span><span>);
        }
        curl_setopt(</span><span>$curl</span>, CURLOPT_RETURNTRANSFER, 1<span>);
        </span><span>$output</span> = curl_exec(<span>$curl</span><span>);
        curl_close(</span><span>$curl</span><span>);
        </span><span>return</span><span>$output</span><span>;
    }

}
Sso</span>::main();
Copier après la connexion

以上就介绍了oauth [PHP] Oauth授权和本地加密,包括了oauth方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et OAuth : implémentation de l'intégration de connexion Microsoft PHP et OAuth : implémentation de l'intégration de connexion Microsoft Jul 28, 2023 pm 05:15 PM

PHP et OAuth : mise en œuvre de l'intégration de la connexion Microsoft Avec le développement d'Internet, de plus en plus de sites Web et d'applications doivent permettre aux utilisateurs de se connecter à l'aide de comptes tiers afin de fournir une expérience d'enregistrement et de connexion pratique. Le compte Microsoft est l'un des comptes les plus utilisés dans le monde et de nombreux utilisateurs souhaitent utiliser un compte Microsoft pour se connecter à des sites Web et à des applications. Afin de réaliser l'intégration de la connexion Microsoft, nous pouvons utiliser le protocole OAuth (Open Authorization) pour y parvenir. OAuth est un protocole d'autorisation standard ouvert qui permet aux utilisateurs d'autoriser des applications tierces à agir en leur nom.

Développement PHP : implémentation du fournisseur de services OAuth2 à l'aide de Laravel Passport Développement PHP : implémentation du fournisseur de services OAuth2 à l'aide de Laravel Passport Jun 15, 2023 pm 04:32 PM

Avec la popularité de l’Internet mobile, de plus en plus d’applications demandent aux utilisateurs de s’authentifier et de s’autoriser. OAuth2 est un framework d'authentification et d'autorisation populaire qui fournit aux applications un mécanisme standardisé pour implémenter ces fonctions. LaravelPassport est une implémentation de serveur OAuth2 facile à utiliser, sécurisée et prête à l'emploi qui fournit aux développeurs PHP des outils puissants pour créer l'authentification et l'autorisation OAuth2. Cet article présentera l'utilisation de LaravelPassport

Comment faire l'intégration de Google Drive en utilisant PHP et OAuth Comment faire l'intégration de Google Drive en utilisant PHP et OAuth Jul 31, 2023 pm 04:41 PM

Comment effectuer l'intégration de GoogleDrive à l'aide de PHP et OAuth GoogleDrive est un service de stockage cloud populaire qui permet aux utilisateurs de stocker des fichiers dans le cloud et de les partager avec d'autres utilisateurs. Grâce à GoogleDriveAPI, nous pouvons utiliser PHP pour écrire du code à intégrer à GoogleDrive afin de mettre en œuvre le téléchargement, le téléchargement, la suppression et d'autres opérations. Pour utiliser GoogleDriveAPI, nous devons nous authentifier via OAuth et

OAuth en PHP : créer un serveur d'autorisation JWT OAuth en PHP : créer un serveur d'autorisation JWT Jul 28, 2023 pm 05:27 PM

OAuth en PHP : création d'un serveur d'autorisation JWT Avec l'essor des applications mobiles et la tendance à la séparation du front-end et du back-end, OAuth est devenu un élément indispensable des applications Web modernes. OAuth est un protocole d'autorisation qui protège les ressources des utilisateurs contre tout accès non autorisé en fournissant des processus et des mécanismes standardisés. Dans cet article, nous apprendrons comment créer un serveur d'autorisation OAuth basé sur JWT (JSONWebTokens) à l'aide de PHP. JWT est un type de

Méthode d'authentification OAuth2 et implémentation en PHP Méthode d'authentification OAuth2 et implémentation en PHP Aug 07, 2023 pm 10:53 PM

Méthode d'authentification OAuth2 et implémentation en PHP Avec le développement d'Internet, de plus en plus d'applications ont besoin d'interagir avec des plateformes tierces. Afin de protéger la confidentialité et la sécurité des utilisateurs, de nombreuses plateformes tierces utilisent le protocole OAuth2 pour mettre en œuvre l'authentification des utilisateurs. Dans cet article, nous présenterons la méthode d'authentification OAuth2 et son implémentation en PHP, et joindrons des exemples de code correspondants. OAuth2 est un framework d'autorisation qui permet aux utilisateurs d'autoriser des applications tierces à accéder à leurs ressources sur un autre fournisseur de services sans mentionner

Développement Laravel : Comment implémenter l'authentification API OAuth2 à l'aide de Laravel Passport ? Développement Laravel : Comment implémenter l'authentification API OAuth2 à l'aide de Laravel Passport ? Jun 13, 2023 pm 11:13 PM

À mesure que l’utilisation des API se généralise, la protection de la sécurité et de l’évolutivité des API devient de plus en plus critique. OAuth2 est devenu un protocole de sécurité API largement adopté qui permet aux applications d'accéder à des ressources protégées via une autorisation. Pour implémenter l'authentification OAuth2, LaravelPassport fournit un moyen simple et flexible. Dans cet article, nous apprendrons comment implémenter l'authentification APIOAuth2 à l'aide de LaravelPassport. Lar

Comment utiliser OAuth2 avec php ? Comment utiliser OAuth2 avec php ? Jun 01, 2023 am 08:31 AM

OAuth2 est un protocole standard ouvert largement utilisé pour accorder l'accès aux ressources utilisateur à des applications tierces, telles que les réseaux sociaux tels que Google, Facebook et Twitter, sans leur transmettre directement les noms d'utilisateur et les mots de passe. En PHP, vous pouvez utiliser des bibliothèques OAuth2 prêtes à l'emploi pour implémenter facilement le flux OAuth2, ou vous pouvez créer votre propre bibliothèque pour l'implémenter. Dans cet article, nous nous concentrerons sur l'utilisation de la bibliothèque OAuth2 prête à l'emploi et sur la façon d'utiliser OAut via celle-ci.

Comment utiliser PHP et OAuth pour l'intégration de la connexion QQ Comment utiliser PHP et OAuth pour l'intégration de la connexion QQ Jul 31, 2023 pm 12:37 PM

Introduction à l'utilisation de PHP et OAuth pour l'intégration de la connexion QQ : Avec le développement des médias sociaux, de plus en plus de sites Web et d'applications commencent à fournir des fonctions de connexion tierces pour permettre aux utilisateurs de s'inscrire et de se connecter rapidement. En tant que l'une des plus grandes plateformes de médias sociaux de Chine, QQ est également devenue un service de connexion tiers fourni par de nombreux sites Web et applications. Cet article présentera les étapes à suivre pour utiliser PHP et OAuth pour l'intégration de la connexion QQ, avec des exemples de code. Étape 1 : Inscrivez-vous en tant que développeur de plateforme ouverte QQ Avant de commencer à intégrer la connexion QQ, je

See all articles