Initialize repo

This commit is contained in:
thexkey 2022-05-24 13:30:20 -05:00
commit 7fd890e84d
4 changed files with 144 additions and 0 deletions

114
.gitignore vendored Normal file
View File

@ -0,0 +1,114 @@
### PhpStorm+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### PhpStorm+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.
.idea/*
!.idea/codeStyles
!.idea/runConfigurations
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
/legacy/

3
example.php Normal file
View File

@ -0,0 +1,3 @@
<?php
// Tadah Federation API example file.
include './tadah_federation.php';

18
readme.md Normal file
View File

@ -0,0 +1,18 @@
<p align="center"><img src="https://tadah.rocks/images/logos/full.png" alt="Tadah Logo"/></p>
#Tadah User Federation PHP Api
This api allows for 3rd-parties to login to their site using Tadah as a Home Server.
This api is unofficial and might stop working randomly, but i will try to keep it working when i can.
# How it works
Tadah has no Federation support, so we use a hacky workaround using `POST` and `GET` requests to achieve this, however this will only work one way (Tadah->Your Site) since this wouldn't grant write access to the User.
To grab user info, the script will act as a normal browser and attempt to log in to Tadah, then fetches the info (such as equipped items, username, amount of currency, body colors)
However, Tadah uses Laravel so their login system is both easier and weird to program with.
Before processing user credentials, the API will fetch a CSRF token by `GET`'ing the login page (the CSRF is in an HTML form),
Then is `POST`'ed user credentials along with the CSRF token.
# Usage

9
tadah_federation.php Normal file
View File

@ -0,0 +1,9 @@
<?php
// Tadah User Federation PHP API (Unofficial)
// Created by PlaceholderLabs
class tadah_federation
{
function GetCSRF(){
// Perform a GET request to https://tadah.rocks/login then
}
}