Make hydrogen generate the device scope

This commit is contained in:
Quentin Gliech 2022-07-04 18:44:31 +02:00
parent 7aa7af4adf
commit 4b1cc8d645
No known key found for this signature in database
GPG Key ID: 22D62B84552719FC
2 changed files with 8 additions and 2 deletions

View File

@ -42,12 +42,13 @@ export class StartOIDCLoginViewModel extends ViewModel {
async discover() {
// Ask for the metadata once so it gets discovered and cached
await this._api.metadata()
await this._api.ensureRegistered();
await this._api.registration();
}
async startOIDCLogin() {
const deviceScope = this._api.generateDeviceScope();
const p = this._api.generateParams({
scope: "openid",
scope: `openid ${deviceScope}`,
redirectUri: this.urlCreator.createOIDCRedirectURL(),
});
const clientId = await this._api.clientId();

View File

@ -203,6 +203,11 @@ export class OidcApi {
return metadata["registration_endpoint"];
}
generateDeviceScope(): String {
const deviceId = randomString(10);
return `urn:matrix:device:${deviceId}`;
}
generateParams({ scope, redirectUri }: { scope: string, redirectUri: string }): AuthorizationParams {
return {
scope,