Request all required OIDC scopes + grant_types (#154)

* Request all required OIDC scopes on auth
* User real TOS and Policy URLs for OIDC
* Request refresh_token grant type when registering client
* Use unstable OIDC scope prefixes
This commit is contained in:
Hugh Nimmo-Smith
2022-08-11 11:47:10 +01:00
committed by GitHub
parent 4349b8fc03
commit 207cbdebfd
3 changed files with 5 additions and 4 deletions
@@ -81,7 +81,7 @@ class AuthenticationServiceProxy: AuthenticationServiceProxyProtocol {
let registationResponse = try await oidcService.registerClient(metadata: configuration)
let authResponse = try await oidcService.presentWebAuthentication(metadata: configuration,
clientID: registationResponse.clientID,
scope: "urn:matrix:device:\(deviceID)",
scope: "openid urn:matrix:org.matrix.msc2967.client:api:* urn:matrix:org.matrix.msc2967.client:device:\(deviceID)",
userAgent: userAgent)
let tokenResponse = try await oidcService.redeemCodeForTokens(authResponse: authResponse)
@@ -61,15 +61,15 @@ class OIDCService {
let extraParams = [
"client_name": "ElementX iOS",
"client_uri": "https://element.io",
"tos_uri": "https://example.com/tos",
"policy_uri": "https://example.com/policy"
"tos_uri": "https://element.io/user-terms-of-service",
"policy_uri": "https://element.io/privacy"
]
let nonTemplatizedRequest = OIDRegistrationRequest(
configuration: metadata,
redirectURIs: [redirectURI],
responseTypes: nil,
grantTypes: [OIDGrantTypeAuthorizationCode],
grantTypes: [OIDGrantTypeAuthorizationCode, OIDGrantTypeRefreshToken],
subjectType: nil,
tokenEndpointAuthMethod: "none",
additionalParameters: extraParams
+1
View File
@@ -0,0 +1 @@
Use unstable MSC2967 values for OIDC scopes + client registration metadata updates.