mirror of
https://github.com/Bubka/2FAuth.git
synced 2025-03-12 22:21:08 +01:00
1.3 KiB
1.3 KiB
Protobuf How To
⚠️ Protobuf classes are generated, do NOT modify the classes manually ⚠️
Setup
- Install the protobuf compiler
sudo apt install protobuf-compiler
- Install the protobuf PHP extension
sudo pecl install protobuf
- Install the composer package
composer require google/protobuf
Reference: protobuf/php
Generate the class
- Edit the *.proto file
Reference: protocol-buffers/docs/proto3
- Run the following cli command:
protoc --proto_path=app/Protobuf/ --php_out=. app/Protobuf/GoogleAuth.proto
Protoc will generate the files in app/Protobuf
while we want them to be in App/protobuf
.
- Moves the files from
app/Protobuf
toApp/protobuf
- Update the namespace of the moved files to match their new location
Reference: protocol-buffers/docs/php-generated
command to decode an otpauth uri using protoc cli
echo "otpauth-migration://offline?data=[BASE32_ENCODED_DATA]" | sed 's/QR-Code://' | sed 's/otpauth-migration:\/\/offline?data=//' | sed -e 's/%2B/+/ig' -e 's/%2F/\//ig' -e 's/%3D/=/ig' | base64 -d | protoc --decode_raw