fix logout issue of some accounts

pull/6/head
Namekuji 2022-12-13 13:02:25 -05:00
rodzic b02710d5b1
commit b928a4a65e
5 zmienionych plików z 23 dodań i 3 usunięć

Wyświetl plik

@ -10,7 +10,7 @@ import { RouterView, RouterLink } from 'vue-router'
<h2><RouterLink :to="{name: 'home'}" style="text-decoration: inherit; color: inherit;">Audon</RouterLink></h2>
</v-col>
</v-row>
<div style="position:fixed">v0.1.0-dev2</div>
<div style="position:fixed">v0.1.0-dev3</div>
</v-system-bar>
<v-main>
<v-container class="fill-height">

Wyświetl plik

@ -41,3 +41,13 @@ services:
- 8001:8001
# volumes:
# - redisinsight:/db
livekit:
image: livekit/livekit-server:v1.3
command: --config /etc/livekit.yaml
restart: unless-stopped
network_mode: "host"
depends_on:
- redis
volumes:
- ./config/livekit.yaml:/etc/livekit.yaml

Wyświetl plik

@ -4,6 +4,7 @@ import (
"crypto/rand"
"net/http"
"net/url"
"strings"
"time"
"github.com/labstack/echo/v4"
@ -198,10 +199,17 @@ func logoutHandler(c echo.Context) (err error) {
formValues.Add("client_id", data.MastodonConfig.ClientID)
formValues.Add("client_secret", data.MastodonConfig.ClientSecret)
formValues.Add("token", data.MastodonConfig.AccessToken)
resp, err := http.PostForm(mastoURL.String(), formValues)
request, err := http.NewRequest(http.MethodPost, mastoURL.String(), strings.NewReader(formValues.Encode()))
if err != nil {
c.Logger().Error(err)
return echo.NewHTTPError(http.StatusInternalServerError)
}
request.Header.Add("User-Agent", USER_AGENT)
resp, err := http.DefaultClient.Do(request)
if err == nil && resp.StatusCode == http.StatusOK {
return c.NoContent(http.StatusOK)
}
c.Logger().Error(err)
return echo.NewHTTPError(http.StatusBadRequest)
}

Wyświetl plik

@ -300,7 +300,7 @@ func getRoomToken(room *Room, user *AudonUser, canTalk bool) (string, error) {
"remote_url": user.RemoteURL,
})
at.AddGrant(grant).SetIdentity(user.AudonID).SetValidFor(10 * time.Minute).SetMetadata(string(metadata))
at.AddGrant(grant).SetIdentity(user.AudonID).SetValidFor(24 * time.Hour).SetMetadata(string(metadata))
return at.ToJWT()
}

Wyświetl plik

@ -77,6 +77,7 @@ func main() {
// Setup database client
log.Println("Connecting to DB")
dbClient, err := mongo.Connect(backContext, options.Client().ApplyURI(mainConfig.MongoURL.String()))
defer dbClient.Disconnect(backContext)
if err != nil {
log.Fatalf("Failed connecting to DB: %s\n", err.Error())
}
@ -106,6 +107,7 @@ func main() {
if err != nil {
log.Fatalf("Failed connecting to Redis: %s\n", err.Error())
}
defer redisStore.Close()
redisStore.KeyGen(func() (string, error) {
k := make([]byte, 64)
if _, err := rand.Read(k); err != nil {