ユーザ認証マイクロチャネルを得る方法及びステップのOpenID

電源を入れます。https://www.jianshu.com/p/b7e2100b56e4

 

まず、何がそれをOpenIDの?
OpenIDの一意本のOpenIDによって言うことである公共の現在の数、ユーザ(「ID」)を識別し、パブリックは、ユーザーこの特定の番号で区別することができるであろう。

二、OpenIDの使用は何ですか?

Aは、ユーザの確認バックエンドのデータベースに格納されている現在の公共の番号、注文情報で商品を購入し、それを保存した内容に応じている場合は?OpenIDの一意の情報を購入し、ユーザに注文のOpenIDによる結合のデータキーの現在のパブリック数のユーザを識別することです。私は何を購入項目に対するユーザー見つける必要があるので、あなたはOpenIDを経由照会を行うことができるでしょう、とのデータが一意であり、他のユーザーデータと競合することはありません。

拡張:UnionID:ビジネスや会社は、複数のパブリック数を有していてもよく、ユーザーAは、3つの数値を以下のこの公開会社について懸念している場合、ユーザーは(公共のOpenIDで数に相当)3のOpenIDを持っています。我々は、開発者として、3つのパブリック番号の下のこのユーザデータの消費量で要約するならば、どのように私はこれらの3つのデータ(同じユーザー)に入るのですか?答えはUnionId、マイクロチャネルの開発者向けドキュメントです:開発者は、複数のモバイルアプリケーション、Webアプリケーション、および公共のアカウントをお持ちの場合は、同じユーザーがいるので、基本的なユーザー情報unionidを取得することにより、独自のユーザーを区別することができ、そのためのオープンプラットフォームを微信(モバイルアプリケーション、Webアプリケーション、公共のアカウント)で異なるアプリケーションは、unionidは同じです。あなたが別の公共企業の数が同じで、ユーザーデータを取得したい場合つまり、舞台裏テーブル構造のみがOpenIDを関連付けることにするが、また、UnionId関連します。

第三に、どのようにOpenIDのを取得するには?

パブリックAPPID番号を取得する背景マイクロチャネル公共プラットフォームにおける(A)記号は、コールバック・アドレスを設定します。


画像

コールバックアドレスの設定ウィザードのページ:開発>インタフェース権限> Webサービス>ウェブ認証>変更。プロジェクトの開発は、Mpは***、適切なサーバーのドメインネームサーバを解決する必要性の下に置かれました。テキストファイルをサーバーのルートディレクトリに、サーバは、外部ネットワークがパブリックネットワークIPでリンクすることができなければならない、と80ポートが開いている、あなたは、そのようなアリクラウドサーバーとしてのデフォルト設定を使用することができます。


コンフィギュレーション

(B)開発ニーズによれば、サイレントまたは非サイレントAUTHORIZEは、許可します

①サイレント認可:snsapi_base、無ポップアップが、唯一のユーザーのOpenIDを取得することができます。

②は、非サイレント認可:snsapi_userinfo、爆弾ボックスが確認承認にポップアップする手動でクリックして、ユーザーが必要です。あなたはOpenIDを、ユーザのアバター、ニックネームなどを得ることができます


画像

(III)フロントエンドコード、パラメータは、取得したコード、背景に対応し、担保へのインタフェース、コードを呼び出します


画像

REDIRECT_URI、この手段:許可は、現在のページに戻り(およびページを更新)するために完了した後に

百度を低下させることができるgetUrlParam方法は、ページフィールドに対応するパラメータのパスを取得します。


画像
画像

設定パラメータが対応している場合、ページはコールバックアドレスによってリフレッシュされた後、時間が経過した後、あなたはアドレスバーにコードが表示されます。


画像

コード(D)バックパスを調整することにより、コードのフロントエンドインタフェースのアドレスバーに取り込ま、背景情報へのユーザアクセスのOpenIDアバターニックネーム後、フロントエンドに戻るコード等

なぜ、フロントエンドは一緒に得ることができないとやって一緒にOpenIDの操作コードを得るが、また、背景を要求する背景GETのOpenIDをできるように?

(E)コードによって背景、AppSecret(そのプラットフォームの背景公表)OpenIDの要求マイクロ流路リンク


画像

画像

画像

具体的なコードは、それをコピーすることができ、フロントエンド(APPID自身の公開数にwindow.APPID内のテキストを覚えている)を、次の


<script>
import GetUrlParam from '@/assets/js/util/getUrlParam.js' export default { name: 'Index', data () { return { } }, created () { this.getCode() }, methods: { getCode () { // 非静默授权,第一次有弹框 const code = GetUrlParam('code') // 截取路径中的code,如果没有就去微信授权,如果已经获取到了就直接传code给后台获取openId const local = window.location.href if (code == null || code === '') { window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + window.APPID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect' } else { this.getOpenId(code) //把code传给后台获取用户信息 } }, getOpenId (code) { // 通过code获取 openId等用户信息,/api/user/wechat/login 为后台接口 let _this = this this.$http.post('/api/user/wechat/login', {code: code}).then((res) => { let datas = res.data if (datas.code === 0 ) { console.log('成功') } }).catch((error) => { console.log(error) }) } } } </script> 

(F)は、データバインディングやOpenIDのことで、クエリ操作の他のユーザーを行います

前端と後端がOpenIDのを取得した後、ユーザーはOpenIDのと尋ねてデータバインディングを行うことができるようになります。

おすすめ

転載: www.cnblogs.com/whatstone/p/12067390.html