国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ WeChat アプレット WeChatの開発 .NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

Mar 20, 2017 pm 02:02 PM
pc WeChatの開発

この記事は、.NET WeChat によって開発された PC 側の WeChat コード スキャン登録およびログイン機能の実裝に関する関連情報を主に紹介します。これは非常に優(yōu)れており、必要な友人は參考にすることができます。はじめに

最初に言っておきますが、この記事の焦點は実裝のアイデアです。プロジェクトにコードの効率性に関する厳しい要件がある場合は、それをコピーしないでください。

WeChat の開発を行ったことがある人なら誰でも多くの承認を行ったことがあると思いますが、一般的に言えば、モバイル Web サイトではより多くの承認を行っています。正確に言うと、これは WeChat の下で行われる承認です。今日私が遭遇した問題の 1 つは、このプロジェクトが WeChat と PC をサポートしており、登録が受付中であることです。 PC側またはWeChat側で登録後、相手側でログインできる必要があります。つまり、PCでもWeChatでも、「あなたはあなた」(何らかの形で関連性がある)。

2. 解決策を見つける

従來の方法で考えると、WeChat は認証を通じて完全に登録できますが、PC 側では、従來の方法は攜帯電話番號を入力するか、

メール

などを入力するだけです。 。この方法で登録すると、次のような問題が発生します1. まずWeChat側で登録を承認し、その後PC側にログインしたい場合は、やはり登録する必要があります。

この問題の解決策は次のとおりです。WeChat が登録を承認した後、ユーザーに攜帯電話番號や電子メールなどの基本情報の入力を要求することが「必須」になります。このようにして、ユーザーのニックネームをアカウント番號として使用したり、攜帯電話番號をパスワードとして使用したりするなど、何らかの方法でユーザーが PC にログインするためのアカウントとパスワードを生成できます。

短所: ユーザーエクスペリエンスは良くなく、セキュリティリスクがあります。結局のところ、WeChat のニックネーム、電子メール、または攜帯電話番號はすべて公開されます。

2. 最初に PC 側で登録した場合、WeChat を認証するときにモバイル側に接続するにはどうすればよいですか? もちろん、すべての問題には常に解決策があります。アイデアは次のとおりです:

オプション 1: ユーザーが PC 側で登録した後、ユーザーは WeChat ニックネームを入力することが「強制」されます。 WeChatを認証する際の関連付け條件として使用します。しかし、殘念ながら、WeChat のニックネームは変更できるので、それが唯一のものではない場合、どのように関連付けに使用できるのでしょうか。計畫は一挙に頓挫した。

オプション 2: WeChat 側での認証と PC 側での登録後、ユーザーはリンクとして攜帯電話番號を入力することが「強制」されます。これにより問題が発生します。ユーザーの攜帯電話が本物であることを確認する必要があります。これは、攜帯電話の

認証コード

を使用して行うことができます (電子メールについても同様です)。ただし、次の狀況を想定します。攜帯電話番號が 2 つある場合、PC で登録するときに 1 つを入力し、WeChat で登録するときにもう 1 つを入力します。関連していますか?答えは殘念ながらです。なお、PC側で登録した後は入力せず(ダブルクォーテーションを強制した理由)、WeChat側で認証してログインしました。この時點では、2 つのデータがあり、それらを関連付ける方法を見つけるのを待っています。これは、自分で穴を掘る典型的な開発者です。このアプローチはある程度は機能しますが、その厳密さは開発者にとって受け入れられません。

3. 原點回帰の解決策 分析: 上記の解決策には問題があるので、最初に脇に置きます??激à蛘恧工毪郡幛?、問題の根源に立ち返ってみましょう。関連する質問には一意の識別子が必要です。固有の識別子は、私たちがクレジットカードを申し込む際に必要となるIDカード番號と同じで、実名制でナンバーカードを購入する場合にもIDカードが必要となります。私たちがシステム管理者であると仮定すると、ID 番號から間違いなくあなたの攜帯電話番號と銀行カード番號を知ることができます。

上記のアイデアを持ったら、後は関連付けとして一意の識別子を見つけるだけです。WeChat openid には重要な役割があります。 WeChat アカウントは、特定の公開アカウントを一意に識別するために、前述した ID カード番號と同じ機能を持ちます。

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する


WeChat 開発を行ったことがある人であれば、openid から WeChat の承認を問題なく取得できるはずです。問題は、登録またはログイン時にopenidを取得するためにPC側をどのように実裝するかです。筆者の実裝アイデアは以下の通り。 PC で登録するか、ログインすると QR コードが表示され、WeChat を使用してコードをスキャンして認証ページに移動するように誘導されます。このステップには最も重要な點が 1 つあります。QR コードに固有の認証コード (authCode) を指定してください。ユーザーが許可すると、openid と authCode をデータベースに書き込むことができると想像してください。その後、PC 側で特定の API を介して authCode に関連付けられた openid を取得できます。こうすると、現在誰が QR コードをスキャンして PC に登録またはログインしているかを知ることができます (未登録の場合は登録、登録済みの場合は直接ログイン)。 テキストが少し抽象的だと思われた方は、下の図をご覧ください

PC WeChat スキャン コード ログイン プロセス

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

コア コード

アイデアは理解できました。開発のアイデアは共通なので、誰もが言語開発で才能を発揮する必要があります。

注: 次のコードは、MVC + EF を使用して、例として C# 言語を使用しています (注: uuid は上記の authCode と同等です)

コード ログイン ページの背景コード

public?ActionResult?Login()
{
//如果已登錄,直接跳轉到首頁
if?(User.Identity.IsAuthenticated)
return?RedirectToAction("Index",?"Home");
string?url?=?Request.Url.Host;
string?uuid?=?Guid.NewGuid().ToString();
ViewBag.url?=?"http://"?+?url?+?"/home/loginfor?uuid="?+?uuid;//構造授權鏈接
ViewBag.uuid?=?uuid;//保存?uuid
return?View();
}

をスキャンして生成しますQR コード jquery.qrcode.js について詳しく知りたい場合は、Github にアクセスしてください。 ここで注意すべき點は、プラグインでは QR コードの生成方法、canvas または table を指定できることです。IE をサポートする必要がある場合は、テーブル生成を使用するように指定してください

コードは次のとおりです:

jQuery('#qrcode').qrcode({
render?:?"table",
text?:?"http://baidu.com"
});

戻るトピックに、ログイン ページのメイン コードは次のとおりです

<!--生成二維碼的容器 p-->
<p>
</p>
<script></script>
<script></script>
<script>
jQuery(function () {
//生成二維碼
jQuery(&#39;#qrcode-container&#39;).qrcode("@ViewBag.url");
//輪詢判斷用戶是否授權
var interval = setInterval(function () {
$.post("@Url.Action("UserLogin","Home")", { "uuid": "@ViewBag.uuid" }, function (data, status) {
if ("success" == status) {
//用戶成功授權=>跳轉
if ("success" == data) {
window.location.href = &#39;@Url.Action("Index", "Home")&#39;;
clearInterval(interval);
}
}
});
}, 200);
})
</script>

ユーザーが API コードを承認するかどうかを決定するためのポーリング

public?string?UserLogin(string?uuid)
{
//驗證參數是否合法
if?(string.IsNullOrEmpty(uuid))
return?"param_error";
WX_UserRecord?user?=?db.WX_UserRecord.Where(u?=>?u.uuId?==?uuid).FirstOrDefault();
if?(user?==?null)
return?"not_authcode";
//寫入cookie
FormsAuthentication.SetAuthCookie(user.OpenId,?false);
//清空uuid
user.uuId?=?null;
db.SaveChanges();
return?"success";
}

WeChat 認証アクション

public?ActionResult?Loginfor(string?uuid)
{
#region?獲取基本信息?-?snsapi_userinfo
/*
* 創(chuàng)建微信通用類?-?這里代碼比較復雜不在這里貼出
* 遲點我會將整個?Demo?稍微整理放上?Github
*/
WechatUserContext?wxcontext?=?new?WechatUserContext(System.Web.HttpContext.Current,?uuid);
//使用微信通用類獲取用戶基本信息
wxcontext.GetUserInfo();
if?(!string.IsNullOrEmpty(wxcontext.openid))
{
uuid?=?Request["state"];
//判斷數據庫是否存在
WX_UserRecord?user?=?db.WX_UserRecord.Where(u?=>?u.OpenId?==?wxcontext.openid).FirstOrDefault();
if?(null?==?user)
{
user?=?new?WX_UserRecord();
user.OpenId?=?wxcontext.openid;
user.City?=?wxcontext.city;
user.Country?=?wxcontext.country;
user.CreateTime?=?DateTime.Now;
user.HeadImgUrl?=?wxcontext.headimgurl;
user.Nickname?=?wxcontext.nickname;
user.Province?=?wxcontext.province;
user.Sex?=?wxcontext.sex;
user.Unionid?=?wxcontext.unionid;?
user.uuId?=?uuid;
db.WX_UserRecord.Add(user);
}
user.uuId?=?uuid;
db.SaveChanges();
}
#endregion
return?View();
}


最後にデータベース テーブルのデザインが添付されます

特別なことは何もありません、WeChat によって返された各パラメーターにパラメーターを 1 つ追加してカスタマイズするだけです。uuId

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

WeChat パラメーターの説明の詳細については、WeChat 開発者ドキュメントを參照してください

操作効果

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

1。ページにログインするための QR コード

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

2. ユーザー認証を要求します

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

3. ユーザーが認証を確認します

.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発する

4.


以上が.NET WeChat を使用して、PC 側 WeChat コード スキャン登録およびログイン機能の実裝コードを開発するの詳細內容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows PCでアクセスポイントが一時的にいっぱいになるエラーを修正する方法 Windows PCでアクセスポイントが一時的にいっぱいになるエラーを修正する方法 Mar 16, 2024 pm 03:19 PM

Windows 11/10 PC で Wi-Fi ルーターまたはモバイル ホットスポットに接続するときに「アクセス ポイントが一時的にいっぱいです」というエラーが発生した場合、これは通常、ネットワークの過負荷または接続されているデバイスの多さが原因です。この問題を解決してインターネットに正常に接続するには、次の方法を試してください。 1. 他のデバイスが切斷されるまでしばらく待ってから、再度接続を試みます。 2. Wi-Fi ルーターまたはモバイル ホットスポットを再起動して、ネットワーク キャッシュをクリアし、IP アドレスを再割り當てします。 3. PC の Wi-Fi アダプター ドライバーが最新であることを確認し、デバイス マネージャーで更新を確認します。 4. さまざまな時間に接続してみてください。ピーク時間を避けると、接続の機會が増える可能性があります。 5. AccessP の追加を検討する

インターネット用語で PC とは何を意味しますか? インターネット用語で PC とは何を意味しますか? Aug 10, 2023 pm 04:34 PM

PC は「パーソナル コンピュータ」を表す一般的な略語です。パーソナル コンピュータは、データの処理と保存、ソフトウェア プログラムの実行、インターネットへの接続に使用できるユビキタス コンピューティング デバイスです。デジタル化?情報化の時代において、パソコンは単なる道具ではなく、世界への窓口となり、人々が知識を獲得し、生活を豊かにし、自己啓発を図るための重要なツールとなっています。

Windows PC が BIOS で起動し続ける [修正] Windows PC が BIOS で起動し続ける [修正] Mar 11, 2024 am 09:40 AM

Windows PC が頻繁に BIOS インターフェイスに入る場合、使用が困難になる可能性があります。コンピューターの電源を入れるたびに BIOS 畫面が表示され、再起動しても問題が解決しません。この問題に直面している場合は、この記事で説明する解決策が役に立ちます。コンピューターが BIOS で起動し続けるのはなぜですか? BIOS モードでコンピューターが頻繁に再起動する場合は、不適切なブート シーケンス設定、SATA ケーブルの損傷、接続の緩み、BIOS 構成エラー、ハード ドライブの障害など、さまざまな理由が考えられます。 Windows PC が BIOS で起動し続ける問題を修正する Windows PC が BIOS で起動し続ける場合は、以下の修正プログラムを使用してください。起動順序を確認し、再接続します。

すべての OneDrive ファイルを一度に PC にダウンロードする方法 すべての OneDrive ファイルを一度に PC にダウンロードする方法 Feb 19, 2024 pm 06:51 PM

この記事では、すべての OneDrive ファイルを PC に一度にダウンロードする方法を説明します。 OneDrive は、ユーザーがいつでもどこでもファイルにアクセスできるようにする強力なクラウド ストレージ プラットフォームです。場合によっては、ユーザーはファイルをローカルにバックアップしたり、オフラインでアクセスしたりする必要があるかもしれません。これを簡単に行う方法については、読み続けてください。すべての OneDrive ファイルを一度に PC にダウンロードするにはどうすればよいですか?すべての OneDrive ファイルを Windows PC に一度にダウンロードするには、次の手順に従います。 Onedrive を起動し、[マイ ファイル] に移動します。 OneDrive にアップロードされたすべてのファイルはここで利用できるようになります。 CTRL+A を押してすべてのファイルを選択するか、チェックボックスをオンにしてすべての項目の選択を切り替えます。上部にあるダウンロードオプションをクリックし、

國産FPSの新たな王者! 「オペレーション?デルタ」の戦場は予想を超える 國産FPSの新たな王者! 「オペレーション?デルタ」の戦場は予想を超える Mar 07, 2024 am 09:37 AM

「オペレーション デルタ」は本日(3月7日)より大規(guī)模PCテスト「コードネーム:ZERO」を開始する。先週末、上海で本作のオフラインフラッシュモブ體験イベントが開催され、幸運にも17173さんも參加することができました。前回のテストからわずか 4 か月以上しか離れていないため、この短期間で「オペレーション デルタ」がどのような新たなハイライトやサプライズをもたらすのか、興味が湧きます。 4か月以上前、私はオフライン試食會と最初のベータ版で「オペレーション デルタ」を體験しました。當時、ゲームは「危険なアクション」モードのみを開きました。しかし、デルタ作戦は當時としてはすでに印象的なものでした。大手メーカーがモバイルゲーム市場に群がる中、國際基準に匹敵するFPS

Windows 11 Lite: Windows 11 Lite の概要と PC へのインストール方法 Windows 11 Lite: Windows 11 Lite の概要と PC へのインストール方法 Apr 14, 2023 pm 11:19 PM

Microsoft Windows 11 は、フル機能を備え、魅力的に設計されたオペレーティング システムであることはわかっています。ただし、ユーザーからは Windows 11 Lite バージョンを求める聲が上がっています。 Windows 11 は大幅な改善を提供しますが、リソースを大量に消費するオペレーティング システムであるため、古いマシンがすぐに亂雑になり、スムーズに実行できなくなる可能性があります。この記事では、Windows 11 Lite バージョンがあるかどうか、またダウンロードしても安全かどうかについてよく寄せられる質問に対処します。フォローする! Windows 11 Lite バージョンはありますか?私たちが話している Windows 11 Lite 21H2 バージョンは、Neelkalpa T によって開発されました。

Windows PC で Samsung Flow を使用する方法 Windows PC で Samsung Flow を使用する方法 Feb 19, 2024 pm 07:54 PM

SamsungFlow は、Galaxy 電話を Windows PC に簡単に接続できる便利で実用的なツールです。 SamsungFlow を使用すると、デバイス間でコンテンツを共有したり、通知を同期したり、スマートフォンをミラーリングしたりすることができます。この記事では、Windows パソコンで SamsungFlow を使用する方法を紹介します。 Windows PC でスマートフォン ストリーミングを使用する方法 SamsungFlow を使用して Windows PC と Galaxy Phone を接続するには、Galaxy スマートフォンとタブレットが Android 7.0 以降を実行し、Windows PC が Windows 10 以降を実行していることを確認する必要があります。

300元を費やして組み立てたコンピューターは、地元の大型モデルで正常に動作しました 300元を費やして組み立てたコンピューターは、地元の大型モデルで正常に動作しました Apr 12, 2024 am 08:07 AM

2023 年が AI 元年とみなされるなら、2024 年は大規(guī)模な AI モデルの普及にとって重要な年になる可能性があります。過去 1 年間で、多數の大規(guī)模な AI モデルと多數の AI アプリケーションが登場し、Meta や Google などのメーカーも、「AI 人工知能」と同様の獨自のオンライン/ローカル大規(guī)模モデルを一般に公開し始めています。 「それは手の屆かないところにある。」という概念が突然人々に浮かびました?,F在、人々は生活の中で人工知能に觸れる機會が増えており、注意深く見てみると、アクセスできるさまざまな AI アプリケーションのほぼすべてが「クラウド」上に展開されていることがわかります。大きなモデルをローカルで実行できるデバイスを構築したい場合、ハードウェアは 5,000 元以上の新品の AIPC になります。

See all articles