LINE 真的不好用,基本上身邊的人都有在用 Telegram 這時候是個好時機將一些系統整合 telegram 登入。
在這篇分享中將介紹如何在 C# + ASP.net 應用 中實現 Telegram OAuth 登入,並包含 如何創建 Telegram Bot 來完成驗證流程
1. 先去 https://telegram.me/BotFather 之後建立一個機器人,這邊就不贅述了可以參考 https://www.youtube.com/watch?v=UQrcOj63S2o
2. 接下來就是必須要使用 BotFather 跟他說 /setdomain 之後設定你的 domain

這邊不能用 localhost 測試,我只好部署上有 domain 的地方去測試
3. 到這裡 https://core.telegram.org/widgets/login 登入 Telegram 後,輸入這些資料

4. 在頁面中加入上面產出的 js code
<script async src="https://telegram.org/js/telegram-widget.js?22"
data-telegram-login="YOUR_BOT" data-size="large"
data-auth-url="https://YOUR_DOMAIN/tgauth" data-request-access="write">
</script>

5. 之後就是 C# 的部分, Loing 後他會到導入到你設定的網址 這時候他會透過網址把資訊傳遞給你
tgauth C# code
public string Result { get; set; }
public void OnGet()
{
var queryParams = Request.Query.ToDictionary(q => q.Key, q => q.Value.ToString());
foreach (var p in queryParams)
{
Result += p.Key + ":" + p.Value + "";
}
}
result:

--
本文原文首發於我的個人部落格:快速實作 Telegram OAuth 登入:從 Bot 設定到 驗證
---
The bug existed in all possible states.
Until I ran the code.
