add ssb-uri for invite consumption

This commit is contained in:
Henry 2021-03-22 16:01:45 +01:00
parent 396961e5e8
commit 9aa676e040
2 changed files with 24 additions and 4 deletions

View File

@ -4,8 +4,10 @@ import (
"encoding/base64"
"encoding/json"
"fmt"
"html/template"
"log"
"net/http"
"net/url"
"github.com/gorilla/mux"
"go.mindeco.de/http/render"
@ -139,11 +141,29 @@ func (html *aliasHTMLResponder) UpdateRoomInfo(hostAndPort string, roomID refs.F
}
func (html aliasHTMLResponder) SendConfirmation(alias roomdb.Alias) {
// construct the ssb:experimental?action=consume-alias&... uri for linking into apps
queryParams := url.Values{}
queryParams.Set("action", "consume-alias")
queryParams.Set("roomId", html.roomID.Ref())
queryParams.Set("alias", alias.Name)
queryParams.Set("userId", alias.Feed.Ref())
queryParams.Set("signature", base64.URLEncoding.EncodeToString(alias.Signature))
queryParams.Set("multiserverAddress", html.multiservAddr)
// html.multiservAddr
ssbURI := url.URL{
Scheme: "ssb",
Opaque: "experimental",
RawQuery: queryParams.Encode(),
}
err := html.renderer.Render(html.rw, html.req, "aliases-resolved.html", http.StatusOK, struct {
Alias roomdb.Alias
RoomAddr string
}{alias, html.multiservAddr})
SSBURI template.URL
}{alias, template.URL(ssbURI.String())})
if err != nil {
log.Println("alias-resolve render errr:", err)
}

View File

@ -3,7 +3,7 @@
<div>
<h1>{{.Alias.Name}}</h1>
<pre>{{.RoomAddr}}</pre>
<p class="color-red-600">TODO: ssb-uri</p>
<pre>{{.SSBURI}}</pre>
<a href="{{.SSBURI}}">Consume</a>
</div>
{{end}}