You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The logon endpoint is requested after entering credentials The authorize endpoint is requested after authorizing using client id and secret id granted by register endpoint
Redirection
Authorize session in idP
Web browser redirects correctly to the client and with session opened
✔️
Token Renewal
Wait till session time is exceed
token endoint is requested with refresh token to get a new token. This must be transparent for the client
🚧
01-22 09:10:46:385 [ info sync.httplogger ]: ... "expires_in": 600\n}\n]" 01-22 09:21:03:624 [ info sync.credentials.http ]: Refreshing token 01-22 09:21:03:759 [ info sync.httplogger ]: ... Request: POST ... /konnect/v1/token
ClientId/SecretiD renewal
Wait till clientId/SecretId granted by register endpoint, expire
New ClientId/SecretId must be granted to request new tokens
🚧
renewal seen after 10 minutes. See log example below #132 (comment)
Migration
Basic -> OIDC
1. Login in basic auth server 2. Enable maintenance mode and upgrade to OIDC 3. add 'token_auth_enforced' => true to config.php 4. Disable maintenance mode
Client shows and error and user must re-authenticate against new OIDC
1. Set a correct OIDC URL 2. Enter correct credentials
Authorization is requested
✔️
Authorization
Authorize permissions and session
iDP finishes web browser and redirects to the client
✔️
Cancel login process
1. Set a correct OIDC URL 2. In iDP, cancel login process
Back to client
🚧
Logout
1. Complete login process in a OIDC server 2. Logout in the idP
Session logged out. Needed credentials again to enter the account
🚧
There is no logout at Android, a new reconnect is automatically logged in, not possible to choose a different user. -> owncloud/android#3872
Request flow
Check openid-configuration request
Enter an URL of OIDC server
The .well-known /openid-configuration endpoint must be checked to assure availability of OIDC. Response received
🚧
register endpoint available
In case the server supports Dynamic Client Registration, register endpoint is requested
Client id and secret id (not mandatory) is retrieved
NA
Android does not support yet
idP flow
Enter credentials in iDP
The logon endpoint is requested after entering credentials The authorize endpoint is requested after authorizing
🚧
idP flow with dynamic client registration
Enter credentials in iDP
The logon endpoint is requested after entering credentials The authorize endpoint is requested after authorizing using client id and secret id granted by register endpoint
NA
Android does not support yet
Redirection
Authorize session in idP
Web browser redirects correctly to the client and with session opened
🚧
Renewal
Wait till session time is exceed
token endoint is requested with refresh token to get a new token. This must be transparent for the client
🚧
The android client prompts with an expired message. User has to confirm manually, to extend the token -> owncloud/android#3873
ClientId/SecretId renewal
Wait till clientId/SecretId granted by register endpoint, expire
New ClientId/SecretId must be granted to request new tokens
NA
Android does not support yet
Migration
Basic -> OIDC
1. Login in basic auth server 2. Enable maintenance mode and upgrade to OIDC 3. Disable maintenance mode 4. Force re-login
User must re-authenticate against new OIDC
🚧
OAuth2 -> OIDC
1. Login in OAuth2 server 2. Enable maintenance mode and upgrade to OIDC 3. Disable maintenance mode
Token not valid anymore, and user must re-authenticate against new OIDC
🚧
OAuth2 -> OIDC + OAuth2
1. Login in OAuth2 server 2. Enable maintenance mode and upgrade to OIDC, keeping Oauth2 enabled 3. Disable maintenance mode
Token is not valid anymore. Must re-authenticate to start using OIDC
Tested with the current stable 11.4.5 and the new one 11.5, including Dynamic Client Registration
Test Case
Description
Expected
Result
Comments
User flow
Correct OIDC URL
Set a correct OIDC URL
Connection set to the URL
11.4: 🚧 11.5 🚧
Enter correct iDP credentials
1. Set a correct OIDC URL 2. Enter correct credentials
Authorization is requested
11.4: 🚧 11.5 🚧
Authorization
Authorize permissions and session
iDP finishes web browser and redirects to the client
11.4: 🚧 11.5 🚧
Cancel login process
1. Set a correct OIDC URL 2. In iDP, cancel login process
Back to client
11.4: 🚧 11.5 🚧
Logout
1. Complete login process in a OIDC server 2. Logout in the idP
Session logged out. Needed credentials again to enter the account
NA
Request flow
Check openid-configuration request
Enter an URL of OIDC server
The .well-known /openid-configuration endpoint must be checked to assure availability of OIDC. Response received
11.4: 🚧 11.5 🚧
register endpoint available
In case the server supports Dynamic Client Registration, register endpoint is requested
Client id and secret id (not mandatory) is retrieved
11.4: NA 11.5 🚧
idP flow
Enter credentials in iDP
The logon endpoint is requested after entering credentials The authorize endpoint is requested after authorizing
11.4: 🚧 11.5 🚧
idP flow with dynamic client registration
Enter credentials in iDP
The logon endpoint is requested after entering credentials The authorize endpoint is requested after authorizing using client id and secret id granted by register endpoint
11.4: NA 11.5 🚧
Redirection
Authorize session in idP
Web browser redirects correctly to the client and with session opened
11.4: 🚧 11.5 🚧
Renewal
Wait till session time is exceed
token endpoint is requested with refresh token to get a new token. This must be transparent for the client
11.4: 11.5 🚧
ClientId/SecretId renewal
Wait till clientId/SecretId granted by register endpoint, expire
New ClientId/SecretId must be granted to request new tokens
11.4: NA 11.5 🚧
Migration
Basic -> OIDC
1. Login in basic auth server 2. Enable maintenance mode and upgrade to OIDC 3. Disable maintenance mode 4. Force re-login
Setup
Setup details (click to view)
Automated setup script: https://github.com/owncloud/QA/tools/hetzner-deploy/make_openidconnect_test.sh
Template: https://github.com/owncloud/QA/blob/master/Server/Test_Plan_openidconnect.md
References:
Testplan
occ app:enable openidconnect
occ upgrade
is needed. #135occ market:install -l ...
2. Enter correct credentials
2. In iDP, cancel login process
2. Logout in the idP
openid-configuration
requestregister
endpoint availableregister
endpoint is requestedlogon
endpoint is requested after entering credentialsThe
authorize
endpoint is requested after authorizing/signin/v1/identifier
/signin/v1/consent
http://localhost:44155/
logon
endpoint is requested after entering credentialsThe
authorize
endpoint is requested after authorizing using client id and secret id granted by register endpointtoken
endoint is requested with refresh token to get a new token. This must be transparent for the client01-22 09:21:03:624 [ info sync.credentials.http ]: Refreshing token
01-22 09:21:03:759 [ info sync.httplogger ]: ... Request: POST ... /konnect/v1/token
2. Enable maintenance mode and upgrade to OIDC
3. add
'token_auth_enforced' => true
to config.php4. Disable maintenance mode
Server replied "599"
after 30 sec.; see also #1362. Enable maintenance mode and upgrade to OIDC
3. Disable maintenance mode
2. Enable maintenance mode and upgrade to OIDC, keeping Oauth2 enabled
3. Disable maintenance mode
Android
Actually, Android does not support Dynamic Client Registration yet.
Openidconnect: 2.x.x
Device: Moto G9
Adroid app version: 3.x
Android version: 11
2. Enter correct credentials
2. In iDP, cancel login process
2. Logout in the idP
openid-configuration
requestregister
endpoint availableregister
endpoint is requestedlogon
endpoint is requested after entering credentialsThe
authorize
endpoint is requested after authorizinglogon
endpoint is requested after entering credentialsThe
authorize
endpoint is requested after authorizing using client id and secret id granted by register endpointtoken
endoint is requested with refresh token to get a new token. This must be transparent for the client2. Enable maintenance mode and upgrade to OIDC
3. Disable maintenance mode
4. Force re-login
2. Enable maintenance mode and upgrade to OIDC
3. Disable maintenance mode
2. Enable maintenance mode and upgrade to OIDC, keeping Oauth2 enabled
3. Disable maintenance mode
Smoke test: 🚧
iOS
Openidconnect: 2.x.x
Device: iPhoneXR
iOS version: 14.2
Tested with the current stable
11.4.5
and the new one 11.5, including Dynamic Client Registration11.5 🚧
2. Enter correct credentials
11.5 🚧
11.5 🚧
2. In iDP, cancel login process
11.5 🚧
2. Logout in the idP
openid-configuration
request11.5 🚧
register
endpoint availableregister
endpoint is requested11.5 🚧
logon
endpoint is requested after entering credentialsThe
authorize
endpoint is requested after authorizing11.5 🚧
logon
endpoint is requested after entering credentialsThe
authorize
endpoint is requested after authorizing using client id and secret id granted by register endpoint11.5 🚧
11.5 🚧
token
endpoint is requested with refresh token to get a new token. This must be transparent for the client11.5 🚧
11.5 🚧
2. Enable maintenance mode and upgrade to OIDC
3. Disable maintenance mode
4. Force re-login
2. Enable maintenance mode and upgrade to OIDC
3. Disable maintenance mode
11.5 🚧
2. Enable maintenance mode and upgrade to OIDC, keeping Oauth2 enabled
3. Disable maintenance mode
11.5 🚧
The text was updated successfully, but these errors were encountered: