Allow registering and logging in as guest

This commit is contained in:
Richard Lewis 2021-06-04 20:53:37 +01:00
parent 711b5be07f
commit b274607f41
2 changed files with 13 additions and 2 deletions

View file

@ -97,7 +97,7 @@ export class SessionContainer {
});
}
async startWithLogin(homeServer, username, password) {
async startWithLogin(homeServer, username, password, guest = false) {
if (this._status.get() !== LoadStatus.NotLoading) {
return;
}
@ -109,7 +109,12 @@ export class SessionContainer {
try {
const request = this._platform.request;
const hsApi = new HomeServerApi({homeServer, request});
const loginData = await hsApi.passwordLogin(username, password, "Hydrogen", {log}).response();
let loginData;
if (guest === true) {
loginData = await hsApi.guestLogin("Hydrogen", {log}).response();
} else {
loginData = await hsApi.passwordLogin(username, password, "Hydrogen", {log}).response();
}
const sessionId = this.createNewSessionId();
sessionInfo = {
id: sessionId,

View file

@ -142,6 +142,12 @@ export class HomeServerApi {
}, options);
}
guestLogin(initialDeviceDisplayName, options = null) {
return this._unauthedRequest("POST", this._url(`/register`), {kind: 'guest'}, {
"initial_device_display_name": initialDeviceDisplayName
}, options);
}
createFilter(userId, filter, options = null) {
return this._post(`/user/${encodeURIComponent(userId)}/filter`, null, filter, options);
}