Skip to content

Latest commit

 

History

History
86 lines (64 loc) · 2.08 KB

README.md

File metadata and controls

86 lines (64 loc) · 2.08 KB

Coverage

Overview

This plugin implements Telegram WebApp Auth and Telegram Login Widget for the pocketbase

Requirements

Installation

go get github.com/iamelevich/pocketbase-plugin-telegram-auth

Autofill fields

  • name - string
  • first_name - string
  • last_name - string
  • telegram_username - string
  • telegram_id - string
  • language_code - string

Example

You can check examples in examples folder

package main

import (
	tgAuthPlugin "github.com/iamelevich/pocketbase-plugin-telegram-auth"
	"log"

	"github.com/pocketbase/pocketbase"
)

func main() {
	app := pocketbase.New()

	// Setup tg auth for users collection
	tgAuthPlugin.MustRegister(app, &tgAuthPlugin.Options{
		BotToken:      "YOUR_SUPER_SECRET_BOT_TOKEN", // Better to use ENV variable for that
		CollectionKey: "users",
	})

	if err := app.Start(); err != nil {
		log.Fatal(err)
	}
}

After that new route POST /api/collections/users/auth-with-telegram will be available.

Usage

Simple usage with js. You can check react example here

const pb = new PocketBase('http://127.0.0.1:8090');
pb.send('/api/collections/users/auth-with-telegram', {
    method: 'POST',
    body: {
        data: window.Telegram.WebApp.initData
    }
}).then(res => {
    pb.authStore.save(res.token, res.record);
});

Contributing

This pocketbase plugin is free and open source project licensed under the MIT License. You are free to do whatever you want with it, even offering it as a paid service.