From c7564521f6a07023d93813e844c228e1fdec94a5 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Mon, 27 Jul 2020 10:03:02 -0500 Subject: [PATCH 01/43] Updated FIDO 2 tab location --- docs/source/authn-guide/fido2.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/source/authn-guide/fido2.md b/docs/source/authn-guide/fido2.md index 7f556812d..452985b76 100644 --- a/docs/source/authn-guide/fido2.md +++ b/docs/source/authn-guide/fido2.md @@ -59,9 +59,7 @@ By default, the FIDO2 endpoints are disabled in the Gluu Server for compatibilit 1. Navigate to `Configuration` > `JSON Configuration` -1. Click on the `oxAuth Configuration` tab - -1. Scroll down to the Fido2 Specification +1. Click on the `FIDO2` tab 1. Set the `disable` field to `False` From 06d73ea480b71a9817aa2701bbd4b842bc18246d Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Mon, 27 Jul 2020 10:03:23 -0500 Subject: [PATCH 02/43] Update fido2.md --- docs/source/authn-guide/fido2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/authn-guide/fido2.md b/docs/source/authn-guide/fido2.md index 452985b76..cd7da4991 100644 --- a/docs/source/authn-guide/fido2.md +++ b/docs/source/authn-guide/fido2.md @@ -59,7 +59,7 @@ By default, the FIDO2 endpoints are disabled in the Gluu Server for compatibilit 1. Navigate to `Configuration` > `JSON Configuration` -1. Click on the `FIDO2` tab +1. Click on the `FIDO2 Configuration` tab 1. Set the `disable` field to `False` From 7ad9244bf9008202b75a750b1c37b5a359251eea Mon Sep 17 00:00:00 2001 From: Jose Date: Tue, 28 Jul 2020 14:18:10 -0500 Subject: [PATCH 03/43] Typo --- docs/source/reference/JSON-oxauth-prop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/reference/JSON-oxauth-prop.md b/docs/source/reference/JSON-oxauth-prop.md index fa40a5938..908dbf4fb 100644 --- a/docs/source/reference/JSON-oxauth-prop.md +++ b/docs/source/reference/JSON-oxauth-prop.md @@ -110,7 +110,7 @@ sessionIdPersistOnPromptNone | Boolean value specifying wh fapiCompatibility | Boolean value specifying whether to turn on FAPI compatibility mode. If true AS behaves in more strict mode. consentGatheringScriptBackwardCompatibility | Boolean value specifying whether to turn on Consent Gathering Script backward compatibility mode. If true AS will pick up script with higher level globally. If false (default) AS will pick up script based on client configuration. introspectionScriptBackwardCompatibility | Boolean value specifying whether switch off client's introspection scripts (true value) and run all scripts that exists on server. Default value is false. -clientAuthorizationBackwardCompatibility | Boolean value specifying whether switch to old way of fetching client authorizations (querying by `userInum=&clientId=` filter instead of getting by key `v_c` instroduced in 4.2.1 which impacts performance). +clientAuthorizationBackwardCompatibility | Boolean value specifying whether switch to old way of fetching client authorizations (querying by `userInum=&clientId=` filter instead of getting by key `v_c` introduced in 4.2.1 which impacts performance). rejectJwtWithNoneAlg | Boolean value specifying whether reject JWT requested or validated with algorithm None. Default value is true. spontaneousScopeLifetime | The lifetime of spontaneous scope in seconds. configurationUpdateInterval | The interval for configuration update in seconds From 8df511db407391eb639e969f279946e99c9a8097 Mon Sep 17 00:00:00 2001 From: Milton BO Date: Fri, 24 Jul 2020 21:37:12 -0400 Subject: [PATCH 04/43] Device authorization gran type documentation. https://github.com/GluuFederation/oxAuth/issues/141 --- docs/source/admin-guide/device-authz-grant.md | 219 ++++++++++++++++++ .../device-authz/device-flow-1.png | Bin 0 -> 9984 bytes .../device-authz/device-flow-2.png | Bin 0 -> 24653 bytes .../device-authz/device-flow-3.png | Bin 0 -> 59380 bytes .../device-authz/device-flow-4.png | Bin 0 -> 25742 bytes .../device-authz/device-flow-qr.png | Bin 0 -> 12616 bytes .../img/admin-guide/device-authz/diagram.png | Bin 0 -> 27973 bytes 7 files changed, 219 insertions(+) create mode 100644 docs/source/admin-guide/device-authz-grant.md create mode 100644 docs/source/img/admin-guide/device-authz/device-flow-1.png create mode 100644 docs/source/img/admin-guide/device-authz/device-flow-2.png create mode 100644 docs/source/img/admin-guide/device-authz/device-flow-3.png create mode 100644 docs/source/img/admin-guide/device-authz/device-flow-4.png create mode 100644 docs/source/img/admin-guide/device-authz/device-flow-qr.png create mode 100644 docs/source/img/admin-guide/device-authz/diagram.png diff --git a/docs/source/admin-guide/device-authz-grant.md b/docs/source/admin-guide/device-authz-grant.md new file mode 100644 index 000000000..5b8d7d738 --- /dev/null +++ b/docs/source/admin-guide/device-authz-grant.md @@ -0,0 +1,219 @@ +# OAuth 2.0 Device Authorization Grant + +Signing into apps and services on devices such as smart TVs, media consoles, printers and others can be difficult to process, since those kind of devices don't have rich interfaces to process a whole authorization flow, in these cases this grant type try to use another agent like a browser in a computer or a smartphone. + +This OAuth 2.0 protocol extension enables OAuth clients to request user authorization from applications on devices that have limited input capabilities or lack a suitable browser. The authorization flow defined by this specification, sometimes referred to as the "device flow", instructs the user to review the authorization request on a secondary device, such as a smartphone, which does have the requisite input and browser capabilities to complete the user interaction. + +Specs are written in RFC8628: https://tools.ietf.org/html/rfc8628 + +## User Experience + +First, user requests authorization from the device: + +![DeviceFlow1](../img/admin-guide/device-authz/device-flow-1.png) + +At the URL displayed on the screen you see an input to put code displayed also in the device. + +![DeviceFlow2](../img/admin-guide/device-authz/device-flow-2.png) + +After that, user could need to authenticate and later he has to decide whether permissions will be granted. + +![DeviceFlow3](../img/admin-guide/device-authz/device-flow-3.png) + +Finally, confirmation screen will be shown. + +![DeviceFlow4](../img/admin-guide/device-authz/device-flow-4.png) + +## How it works + +This flow is processed between device and another richer user-agent like browser and different messages are sent to the authorization server between them. + +![Diagram](../img/admin-guide/device-authz/diagram.png) + +The flow has the following steps: + +1. Device sends a reuqest to Gluu authorization server that identifies the scopes that the application will request permission to access. +2. Gluu server responds with different fields used in the following steps, mainly `user_code` and `device_code`. +3. Device displays `user_code` and `verification_url` to the user. +4. User should open `verification_url` using a different user-agent like a web browser from a computer, login and authorize. +5. Device continuously request the token from Gluu server every N seconds until server has a result, it could be many results like: `access_denied`, `expired_token`, `authorization_pending` or it could be also the token generated when user grants the permissions. + +## 1. Request user and device codes + +This first step, device sends an HTTP POST request to Gluu authorization server, at `/oxauth/restv1/device_authorization` which is also presented in the `Discovery url` published by Gluu server, this endpoint could process common authentication method or it also couldn't do any authentication, it would depend on the configuration done for the client in Gluu server. + +#### Parameters + +| Parameter | Description | +|--|--| +| client_id | **Required** The client ID for your application. | +| scope | **Required** A space separated list of scopes that identify the resources that the device could access on the user's behalf. These values inform the consent screen that Gluu server displays to the user. | + +#### Example + +``` +POST /restv1/device_authorization HTTP/1.1 +Content-Type: application/x-www-form-urlencoded +Host: test.gluu.org +Authorization: Basic MTIzLTEyMy0xMjM6WkE1aWxpTFFDYUR4 + +client_id=123-123-123&scope=openid+profile+address+email+phone +``` + +## 2. Device Request response + +In response, Gluu authorization server generates a unique device verification code and an end-user code that are valid for a limited time and includes them in the HTTP response body using the "application/json" format with a 200 (OK) status code. The response contains the following parameters: + +| Parameter | Description | +|--|--| +| user_code | **Required** The end-user verification code | +| device_code | **Required** The device verification code | +| verification_uri | **Required** The end-user verification URI on the authorization server. This should be shown to the end-user because he should open this url in the rich user-agent. | +| verification_uri_complete | **Optional** This is similar than `verification_uri`, however it also includes `user_code` as a query param in the url. It's issued if the device wants to use QR mode for example. | +| expires_in | **Required** The lifetime in seconds of the `device_code` and `user_code`. | +| interval | **Required** The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint. | + +#### Example: + +``` +HTTP/1.1 200 +Content-Length: 307 +Content-Type: application/json +Server: Jetty(9.4.19.v20190610) + +{ + "user_code": "SJFP-DTPL", + "device_code": "aeb28bdc90d806ac58d4b0f832f06c3ac9c4bd03292f0c09", + "interval": 5, + "verification_uri_complete": "https://test.gluu.org:8443/device-code?user_code=SJFP-DTPL", + "verification_uri": "https://test.gluu.org:8443/device-code", + "expires_in": 1800 +} +``` + +## 3. Device Display + +Common flow, device should display `verification_url` and `user_code` received from Gluu server. The content that the device displays to the user should instruct the user to navigate to the `verification_url` on a separate device and enter the `user_code`. + +Design device interface following these rules: + +1. `user_code` has the following format: XXXX-XXXX where Xs represent to any ASCII character, for example: *RTXD-HTLK*. The length of the `user_code` will be always the same, therefore it's highly recommended to show it as clear and big that the user can read it easly. + +2. `verification_url` should be displayed also in a way that the user can read it easly. Normal length should be around 40 characters, however it could depends also on the domain used for the server. Remember that the user will need to write the whole url manually in the web browser, therefore it's recommended to user a short url. + +3. `verification_url_complete` will be used for those cases where device can show QR (Quick Response) codes or NFC (Near Field Communication) to save the user from typing the whole URI. Interaction between device and Gluu server will be the same, however user can process the authorization faster. For example: + +![DeviceFlowQR](../img/admin-guide/device-authz/device-flow-qr.png) + +## 4. User Login & Authorization + +User will need to put `user_code` value in the browser and after that, he will be redirected to the common authorization flow, it requires login whether there is no session between the user-agent and the Gluu server and grant the permissions based on the device request. + +## 5. Poll Token + +Since the user will be using a separate device to navigate to the `verification_url` and grant or deny access, the requesting device is not automatically notified when the user responds to the access request. For that reason, the requesting device needs to poll Gluu server to determine when the user has responded to the request. + +The requesting device should continue sending polling requests until it receives a response indicating that the user has responded to the access request or until the `device_code` expires. The parameter `interval` returned in step 2 specifies the amount of time, in seconds, to wait between requests. + +The Url of the endpoint to poll is `/oxauth/restv1/token`. The polling request contains the following parameters: + +#### Parameters + +| Parameter | Description | +|--|--| +| client_id | **Required** The client ID for your application. | +| grant_type | **Required** Must be `urn:ietf:params:oauth:grant-type:device_code`. | +| device_code | **Required** The device verification code which is returned by Gluu server in Step 2. | + +Authentication can be done using any of those authentication methods for this token endpoint. + +#### Example: + +``` +POST /restv1/token HTTP/1.1 +Content-Type: application/x-www-form-urlencoded +Host: test.gluu.org +Authorization: Basic MTIzLTEyMy0xMjM6WkE1aWxpTFFDYUR4 + +grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Adevice_code&device_code=0bd7068e7fdab4bb91b313296a96462256a7370d12f073f0 +``` + +### 5.1. Token Response + +Gluu authorization server responds to each polling request with one of the following responses: + +**Access granted** + +If the user granted access to the device (by clicking `Allow` on the consent screen), then the response contains an access token and a refresh token. The tokens enable the device to access to the resource server on the user's behalf. + +In this case, the server responds with all tokens required and allowed to be issued depending on the configuration in the server. + +Example: + +``` +HTTP/1.1 200 +Content-Length: 858 +Content-Type: application/json +Server: Jetty(9.4.19.v20190610) + +{"access_token":"c31fc092-453b-4275-a36f-b2740c3eb1a6","id_token":"eyJraWQiOiJlYTc4NDgxYy05OTJkLTRmN2UtYTkzMS03NjM2NTYyMzgwZjVfc2lnX3JzMjU2IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhdF9oYXNoIjoidWdMSnAzMkxXdnI4QUdlbmdNTlF3QSIsImF1ZCI6IjEyMy0xMjMtMTIzIiwic3ViIjoiM2M2M25HdWZnWFNkMWFwNU81NFZkVjlUUDdmdjJHc0YtLWl0eVBHeFJBTSIsImlzcyI6Imh0dHBzOi8vdGVzdC5nbHV1Lm9yZzo4NDQzIiwiZXhwIjoxNTk1NjQzOTg0LCJpYXQiOjE1OTU2NDAzODQsIm94T3BlbklEQ29ubmVjdFZlcnNpb24iOiJvcGVuaWRjb25uZWN0LTEuMCJ9.fElZtuUslhSSuqTOuvGeafG4QuQoHKLpya25RHWkC5V9Xf9ODYa6tD_Tdav2D9Gff2Zz7pt8WKso-WYOqmJ3NrgMoVU7d1SMj6pYGilTL1JokjB18Yw1TI6oR6Z4wegy8_ajftLLhqosI5-ZE36TzPwoAKzjPl-iZEpV2U1OPHWZrdwc9N3YOyO0I_IJGQmFnXC_oacitMV2VZaTxfuCew5cPwNp5durooFNvv3DPzc9JYEctmaLsiRtfqN7pCaV30B3hnYTYZ4p2HNsUbOewBI8_Brm1v1CByitQPUFqETgmPGbf4HCTEoaH-7DfaXnAsePt73blNwJrlTlUBieew","token_type":"bearer","expires_in":299} +``` + +**Access denied** + +If the user refuses to grant access to the device, then the server response has a `400` HTTP response status code. The response contains the following error: + +``` +HTTP/1.1 400 +Cache-Control: no-store +Content-Length: 74 +Content-Type: application/json +Pragma: no-cache +Server: Jetty(9.4.19.v20190610) + +{ + "error_description": "access_denied", + "error": "access_denied" +} +``` + +**Authorization pending** +It means that the request hasn't been processed by the end-user yet, therefore the request is still in process. + +Example: + +``` +HTTP/1.1 400 +Cache-Control: no-store +Content-Length: 90 +Content-Type: application/json +Pragma: no-cache +Server: Jetty(9.4.19.v20190610) + +{ + "error_description": "authorization_pending", + "error": "authorization_pending" +} +``` + +**Polling too frequently** +If the device sends polling requests too frequently, then the server returns a `400` HTTP response status code. Then the device should increase the time interval between requests. + +Example: + +``` +HTTP/1.1 400 +Cache-Control: no-store +Content-Length: 66 +Content-Type: application/json +Pragma: no-cache +Server: Jetty(9.4.19.v20190610) + +{ + "error_description": "slow_down", + "error": "slow_down" +} +``` + +**Other errors** +This token endpoint can return any error code already defined, for example whether client can't be authenticated or the grant type sent is invalid. Some of them could be: `invalid_client`, `invalid_grant`, `invalid_request` and others. \ No newline at end of file diff --git a/docs/source/img/admin-guide/device-authz/device-flow-1.png b/docs/source/img/admin-guide/device-authz/device-flow-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa0bf658b4026d99c62b5405d659cc715609e98 GIT binary patch literal 9984 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℞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 literal 0 HcmV?d00001 diff --git a/docs/source/img/admin-guide/device-authz/device-flow-3.png b/docs/source/img/admin-guide/device-authz/device-flow-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ee6d0beaf6092fe7d08539f36e1570e8833b08cd GIT binary patch literal 59380 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 Uv{mK!=UYWfUGHgy+RKpt0q|*DCIA2c literal 0 HcmV?d00001 diff --git a/docs/source/img/admin-guide/device-authz/device-flow-4.png b/docs/source/img/admin-guide/device-authz/device-flow-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e342339963a5f2ac1149616eeaa6ccd0242bc068 GIT binary patch literal 25742 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 b&MvLrBJEsEQH?rp<$@~sxgzqJ#UK9#-=F3H literal 0 HcmV?d00001 diff --git a/docs/source/img/admin-guide/device-authz/device-flow-qr.png b/docs/source/img/admin-guide/device-authz/device-flow-qr.png new file mode 100644 index 0000000000000000000000000000000000000000..942cf6efbfe6546de35e6dc3b485eb6d54c4ecfd GIT binary patch literal 12616 zcmch8bySpV`|e->qLd;if&$Vh3Ji^o0y1=Wh;$9zrGzv}cXvt+3~A6vH$zCr5F*{@ zVSm59&fed*&syI(f1FwCUBf%T%=6rF-Pirx*96MRh~wjt<3S)0e2Leu6d;f*a0mpe z3-=0mrACyB9XwsNgGngi;^LxbWq*QOB70Fadqsqiz0(_8Lx`e@gT1|>?c4W#Hy{uy zh{UTGO3o7-Q(pFphAC~^40L{p3RLf|bOh+v8h)_JE@x(L&ELdKBbGPK|zXlZM@ME|_Y{^MlKT|yEzy3fpi}y)ZNl~DJr8g<;!Nggn z99)Cyb+*WFPs;PYTqv~nY!wT7j_#034s3RwT%sd{M$t}4VL{6 zSMvi1A;H5C=_JR*Utr2C-Uwi=)e48~u)v6>T!VCyqY7pUcw!otG&?^qC_WO%mg z@oH{e$CDD4`R-MFtI3*Agx4UuK7yF2dn23mhy{nxiuJgUZC+mx`x=Wc5NP~p7 zcJi<)}{M*WC|{MYvVkNmmJr+?+oOIhMEZ4IvPajuzgVh+VyeYD}dKQtG2{pw0yqIbBq zJFW}xpQoG4mrF%1pK?y!JVK_J z{2kxP!d@WVt6eZ)T6%0pZq3%y>G|~zoHPCrbLa5u^tZwXDs^;SR;i|i&UCrmcy!<2 zVr=({#ZUFVV9J|xxJ<>B{gxL)vf|FNe6`G34L>*>Jz!No9M?DB`>r_K&Lrxz)=9iLbjrcsXMJS<>tYU^P;3~GK+^*v=(EOtO z)L5ZFEd5>@JjH~4oVbQ4TvIhpIzIsmFCG?c(T=pRO4cZ3=44a~=XFP`8ibEBlHd)8 znl34q=$#0!v%^&kV~2ey!t)G*q|iqWlC#Wh89!p6(hb#V>pxMa<^p{8`PV=HctTI8 z%&3t=L^fXUKuIVFPj$i;Uq+7@Yjdqf7CuXTA9ISR?MngH)EztU}m?0NuHVFSK4HFx}3@GI1BQa=Js^8 zp`VL>fsr?ilZ%h7FmHWO^5VMOaur*r)L;S0Hl827!@#6M@6khNQaTo~yC?$wpr;Dl zS4r@c%WY&<{h0kc!dlowN3x7a_y~07*uD|$K%!mjUawbWwRS1lC8_AbQuKP@VaLaQc3yTR?q zCTNPbvE?a9Rf|%_ z_pT&AiSrl)5yYz3rB%yN@RSct@3Tdp{O?XAb zMyB-rNa@x<>_LObl5SPKuhqrbsb)J)W5rETzC`y|nN!(E<(H5l&yEPMbFUtWJ}BZd zqxOBWD(fb`$VZ`rsoA;XFf^{s(WSbFJCY<4;cxDtW4t{#P>>Z8`)JJse|Z0HqWf_! z%ZBWVFOhzMJjIB5XJ`FRtl2bjV&B|$hOJuWlP}R+EWKqOv!!8~rNqcU|BE*II$6sS zXG2r545Dv(FrkVkP7PD#Xi6eihj#7S4i@PuwCWP0 zA5jxmwnTg_pN=%n118h9mC8U^1Xr!513&eZMD_~P*aYTZQNmleGOUhG3VD`OjN1FP z!zJHFrE&s06~c4jarUrlLM5FfcAKG&qvFam+6=GSH}Xm5i~R#Qgd^?qq0GKS*w#y+OY9f>*XZ0+bYgi>RRs1I(6otw5o;?@hYqCbBpW(8Q;N3vM z;Zgjag|DJ%3H@Y{B|>WZ0b<-r4x6d;d~BKR(Iz_8EinQanPq79Sb-w$Y>dYI(;0P5 zjCw)r2WBUf4_r~@*zaICH?i_fshg~vZy|HT3)A|JG4e4c`oWc(gXSqdG?wKO_xU;c zO~^TpoKOY)0S{lkQ5QYBLl)L=R=l5K+c7A0NAtp}&%{5duS3sLEx=6HFf@v%zwh|j z-a-f$Q$mB?xO82VS#_PpfNV$2FDNXc!{Fl;H?8T<22#)j+`vLvCRdsVpxKU|+r@$;oO%Hs`Vn}1hTS0F;H(A{>pAAT3Djbmnh7L8tS z3D3D+UDBQsr|qhSOT3Hoo<^d0^^kGdPB;>3>RxV?2jhI6e$RR~vBD1fbwO}0wv0HM zAsWu4{YHkGvv48$Tjkn-MFX6>Gp<2TbX=UWHmeJKsNg^fl75rydO&`sZUlcM%E;llN7{)z;gQG;Gdo@?PjqC$@}gqpdOYDDr4UIQ`24d9?&7OV zPOa7PJGW<8#fT`ECBvyPPMvD0olFUTeFvd(L- zYxstmQZH*Un^vp0iXYrlT2Qr!P$`VYVG-F2%%`NF@ln=E{rH0^;imGv$Tx720}-)L zn0CghqHYHf7u0u*a!Ll3Xqm5pYr(gK^qM?*1t)9KR}T3u@OLLmTA1V8^NiWFzD=x9 zJ7tmvlT#*{qK}>n)W*IYPbTJem2P-sV?K{?=`e*pS$nB+;Q8isazi)ZYhxANM`7QJoFN>=Agq1j*aBH>fqRj?Iqv+Q4o?r+jXF8XnYuf2!mtJG2=R3#KQ z_H*reLh;w?(=lH330Whu-NUlo+O_<0JZ&aA+Uw3mf(-g;4(9%*uOwEz#sy_bss-wr zjlBl%!aFpLElx7jkESE)QEtHKL?^DX)V>$_qCRXNqexvrym zjS3!;+d(X`R(WDfub%uQn>&5PDelp)-Qxw4Y2ndh@+z&v@MGV;Di`V3dBfz?zFLT< zCh&cgW5JS6+WCQgSo>aUzi@7D=b1~k0V5}Tbe|8E5Rp->Z~HW7uJ~K|6Apy>!VSc` z;=7w4qxgB0ao;4FC}C^&Y%Dh^=G)y39bF-gVx^95N_YBXqk@yj5T@-XuoQ<6Pgq$yYZtCBu1y+> z9`i2;8TJq~sVK;BkuM4_*QM+r9 z3$Z(yUx*Z2SEaN-znPFz7TEGmB(<%uXexZxH^-?c&Be%6`z{_GIK?!s-ksZx#>8jH zO5!PRnl%JGKSc63$Zs@sSxsb5T0G76t=CK@>+!~~Npgct1m?utTn$;p?!c5=9t3Q+ za-oP|##|=MLXNQvaWPgklh-f$-EB*9vh;TSQxGuuZFli~jfzI*t|Y^ud}W%21D7O2 zL@jJSM#H$kkEjzT`1fd>3TwN{!)|V7^QqF9wSxQSfL%r6Wh1_<_7<1}mBF@(Outmcd7PP1cV7>=M@q>nwWf zvIAT0Qzkc*x~(q`2u0fJ{upwzv$c~lHB-*Z>1=2*LT`==*7Te=8_w*ExMQR=moTC& zcG4p^Hn54I%cMO>!%}YJuGpn8)kDW3mT6Y0LOXn0>W8eIx^J1)KNfq|K2c$(%2v^t5Z&r|{_Q;O< z?xRQfWH3?k(v{2{)uyrhl`A(%jmMYNDwg3f9|ocvqQjPp2|krsrRN(~WCzl}O>RN* z#UT&1;#Tpo%leE6*YN1gIJWQ0Nxm^Y!cKJ5FW7$9l>%|$rn{aA-M!Ko!oAt~R5GWa zv#d5xFASw;Q^LltGq#_-rmZ8Kab7J({xc8zeOzW=JJE)l8Dn5x{{TPxQE(mjoG{}Yv4;p zGPTfWPT7i5OpY;&PVQ7u=60RT+7IwTzrEFrh!uK_t~W_$F<^9W(N>Rf%SPx%-It6p zdaX<+2`~IcIr2HfJurQLgT_v##G#JHEwu2IQ`>yCDDq`kOMFg8ykF_{P+8R)l|+rO zsZJbtviXm--e5c9IJ;5R93e}N0ZAHrD^Jxk?~SV;M7@6K@IHQKCzdXhR?Vx0p?Bi) zKgw=7caN#e)KjSKIIY*L`_X8n?s?AJQT4R9eAw&gMcf-hl%;3E#om>j5G@RWbU%F| zlSGi&J&#L-dG4GuwWrZIq8TC39mSX1EHq>>qmwe@+L$+CLUHHTkjb9E-H9A|Y7FVE zYeQn+<0N7^^V#nonsx^y zM^OQ#jmK;2;}uZL2`+HVA*?VZGghbXo%79wj08MlPxZn+N%&Fp5OXehueH@(HC}-0$YPTasAK3LLx*I1e~H^ zaq79H&%HOl%TT)IM`@Yh{Gpc0r_J_CY+ETVl`pQ+W-(sq%6gT*-^W7faCPa?ga#|b z>q_AbF#(5s2j;q40C(bo@{3u1CGBD6e;Hmj^S2a3o>gtfYN^`aMoiDP4|{ zt5#x3dHEr!(q4%C8|J-XmmskYl6h4nQ5hNkf@#)H9@;`|MiORe4Y3!in>!x)WroZo z@reb39C4u<(XjNsknTzgz6;!p&$%X1QZ@*t-h*q~*!FI2Z2#2hvdFwKh+22%6K9Je zEGj&$FE{v&GCFvM%1*z9VOiXdHd;&>nDj&1y{K%Wb+b)r7*RWf`(d;-XPuiYOFB;V zy9ntdZl}M@j;U5gVK!Qxv3rsyH}*Ad0P4ne!Ca&`3@ed-kVy;+;8*P*T94?hLYa56 zOoMKQxP)$eiOd~_JC%tHV!)5c;&87n|J~ibj6ULtmku9uuXRuSuDqQvOv26)7g07h z_>l!O{Nj!ZiOD3((n9QTQZOP~qflC5JO2fuWr5a}a3(#CUZ}~$ zhg%%95cFrJTX}*XzME4z9f`k}T;tS;rhOHmA|f_g`*bE?u3%3c^leX=2>BQ+ZC%!W zR|Qfpuj$7McAf9n#yD|iVOnN~-VbM|hzA2KpA&7jn^^Eb{hG8BKnvR(W`ruepLaXgiFoE-@v{&7xqCY zyI0`-o#3fb5;H&0ygki3tzCC0)b=Yid~HkZ`>RX(ZlRq$_^I|++4@`&UbX6i6e+Ak zw-(c`Ak3w=i*4^U@nJ-nw>LYC2u5ql9hkwRc9N-*!zJ|5=DfcrVqdI^gkS{Q57$jQ z#oM60T~60obI_o{erTgac;?B30UWhn>r;{;F6qH^gp6K(KRr`kgDTQa3dm;R$c`qt^bjk=WrFlHpqIxgci2S2la~nWx=u3*@bkWc#u^J!0U{ zpj*yQADkIc4erl3sVn41DTohJcwWe-E15@Ik`Cu_(@^{xt;`7!vqPDFO0$!AVOmvU zojLr`IUS>n(D;!vWDp7m9fVw-EmWKs_CNGnMva+UA_7+{z~1zEVoE2S@Z$hVDVdA| z-$Zi>qy34Gs}hAC2|AICuf{Bsla^~AHgQo?XGn+rjLCQ(D*XLvwc$6v*lROA+(L75 zLMCjUomrr*_e}~85!Kx>$0tHOAKP%QgD03(izM4weNkA(_hUc*T%C-$IpXj6Bf6hF zRO8y!#x$bh?=%sI|#I&k$jKS>*s@94=N& zNDm(wcdSZGvY2T|l+KCz=u|l9G)t+~Bb1Jusm5x4&^KsIGjMA@`W+ixO!vbrt6WQ) z9G6(YjYxKRDIXoZhnXkj;crwGI}bj1#V3iks|t_$l6d5Yz^PQM*!7GxZ$o*d_`INw67$jF zS2ObXx;l=rsaN}WREjm|qanY+JhO>Ebi*)015Y&?@tKdu?FyN(<<~jZMRxQ3Nrg6o zaC1r1uReYRpX6)$>=*L~K0CEEFAOC;EpfXFP|R*^au4~f?0kSCbNgLJc`Ym2yhU=^ z$RvE?_j0U?zn^EB<&+P6^h%~<)O7s_Lgy_vvu2y)aZ(HFIBl@JPoZ`hZmbd3!!dJg zi(Dudj4(}z(R6(sd!hSi>|yQip{!obySO)JFxMlcA~h}yiyUuK+h3SzLNzzE<1M9n z%Pl_r*3~uEjzcK8N-mL(6W%oaYaI@5vtEmL95p}EKuBzIDJ~`5K9H;MaC13d$-}Oz z!b&a8iRs06Wl^`Y+u3t(Iy*TK*&9+6nL7SJ_~?82e_yd;@wV}4fc867UJ$C!Wz0NSY zvdR3zlamyNrPu@%aS;)=ZIn(S_c&qnk!5x->aoi5%F4Erou*y3TgWbc$2JX(jPP)A zy}C~e!$oNcTmSs>>9M%*Zr{tDrEbaBuUDFNEXO|2?v3hRtQD4qJrbE78@so7)9|Uf zyL&x68!jQ?0zS2(qJmCBpTo!bs(z0@{sT|2h*V(@{>~SgnzPotBzTkpjutaucDBEP zt~6CN-YZB;`&l)rBVe~AwX2TiAqOko>xRy(Pt}cX9gy9)b-0ONw$gAg?RL7| zhQVOGULmW@tgM9XmVOkLHrCp&4gkmKyp8Qi5vp@P`i=j9#}}6V=#!#X(XOt4>0S|VJ*qlL)Php&rAiZ!d<4mQoT0!K00O`aac4y%BL-6Ul_Y`QoRafAjy zsZ>sndcDB-YP0!n3ctfzarJasPe|(B++FNaQ&s8>6cq))Z z5R3}nUBy|$U`pwznofUr`TP6#ObrOR?SHN#uHdb@#<@IJ_7)f-W1Fn$uw|oq=3#eN z_(P#uU=So57zF3aB=fucHULBsjT{{rv6^WVqJb~k9z`)JViP``M3yx+Hi9Lcsai$S zOV_UEBxbA*18WL{UF~1x{nxUSgxruGA1A?}wNSM*Y-v%m+A1`lI>y)BE2eW)*X!(X zJ{;%DJ7g%BsR}r4h6GeEEiDnqGN{*B&w}U%Zy0o!Wui@!!Ltc>m-lj5c&`DgL0eH# z@yWfAdqGu`cW8x$8w*{B$Htt0FLdlTDC8^I*qnaC0|YP{gb;AUN!?bXIhs*oprTh; z;LSJRlC{f4o}bNJ2xX{(?DE1CSNjuCcIsRWfd1^9r!5_I+g<5LhTgbw1I$OazUd_M z+RP2gikux|O3^$76uh4YWs%oh@pHH#kdSG}D>hEf?ajKauo^YZh%8`l1qv{sb1g_j zG`h^Uh7uc}b{Uihbj^bi;d9yBWMojiFOW5eeK!Xcn4SWP>xz2egI%m%u{4ygNOqRe zzF0kJD;a0adO2GiyVL@Z?K5+8J9H;-6IWM-golUMoZPsi&vCGH=b!IzYBfv!0WQd1 z?8>fFQn~(*g@jV2=*?%G!9J1&oWyp1gDJFN=kUnr=oY$~W3Ce;>~TEliYW$0@2?*{ zKRdy}CnxES5KiUjWV;>!O>Xkpujo`Vvl%*FCZC^5;Rd=I(foLZ z{J{eOsQ|_gJ`xfV%+bsl4f*-2VB^HgKJ5nO`{6zJxlHsjbWqYHY2Hf zz!|(XO=LGPIGCBV9jpKncI(omC_67Ltx13w_ZLG9qvq!4w;B#~{uOi~51>}ZyQ|4H zum+ur-iy=T(V7S*#hj2wB8_+4xIK>TGyB^&vA40CgTN3vTQW8$H`l3iLM)5|<+w2c zx*^?pSN~i0%gu(Fi&fA}4abWdUMRES0(ST3lz_u%>mB}@MbvM%f-!pOwt8Cilp|VT ztNt0#2lS9%Z@f4^89h`&)zsAFE9Rardz~-iLnpt4iLuTP-EPiHJzF=v?6Q0ag-t5P z8$nhU@|V)Gv&$5#h@Aeq)I0q8Nd1!i2u&ATo%Cb?S>|?@xy<1|F6Bkc!-@Xmt&#^^u zUr|9}8jQ6A0)m2rPsV#a9phE;$+=9mAqP^!IVQchA>+I&UIa60c20P7ZyBO<&pz z9~{E4nyqtC70x`pnj_AR_Y@0!8))B!6Z!XPcifqM!9#45&5$KHlZL<}LfBV~n|7#Rc9 z$`?&1h?f^ZliHgqash0EK*xRjs8=y=&##Sc)q7H7yV$ueyKpqM<>}NbbWmw&YGL8N z(+!1Mj1iSBOrq?_Sk=CGUIS=A1N0WD9{cLA=7kO>2hTUpFUwt%fxEl=$<6OC)B8ZS zUwQW&-P+vTJeVsh&U&BVgNLy0$#4p<4NXRNem)ZsZl&(ixiSF=s2Z1T>)$Tx8%caO zaH*R^?mwFlVb#p+f2DPo%J&I*DDd2yS8w(8^-t>da8nP}NJP?CZF!?NzzXzV&4c7PTCeCW|D(Q2X7-zK zC78r0F-MDKawgDST36i2!^1;fzMmo0eE?|#!n)~rxOAe_akxOa&S}dEogv34MXz{5 zr_HX~903bRo#VuPF8g(X_HQzbG&^gv8&sg9jDKbfq&AuAYV?sEi@$w+eFGS7RE`b} zDXFTGl}#w-%Fxl%i%m{>{rvJSG&J;5e4^$9OTToORL{QT{$+IBxq5uC)!TC&`^;zVTE?y zUmp(_IX?u+60G(e)U=e8lxbu(3dKi+%c@h)tKR|SL90OJV?NWaa|r=4$H&Ken9++_ zLN8wXmA;NhhRj}M43-uU7+EzQErG&y(7}+ZR5(n@zJG~!=f{|h)O(-pmU}8IE0Lk# z{6kwuXF7&WlV;>skHD5xA`hE>8tO8{2%FVGm}Z6xcUl2ZZLWR){(X6Qd24HHAs%vs zT8WW_-}%>1fHqTB2RM)1pIHBV4#%@+Nz!;9H#j+250D5@r>gYyS#g6)y5hVw-B4lF zZDwMU_8BNh?6cR_)@IH&osw(59n5%nVMdBcNJ058skB5R6A}_+v}S=jI=i|`ZK!ZT zK`QAW({(4t^W(Sila`hi52N67`Au7Oy_Qgh?ZuD$;$pxGEM8@H7$gXLxJIq2X=qGb z8tv#u{4>A;f_T3!_&>062I?X}iSCwt{yyux7_BtilEOJ!}B)F(YZKmY92+|1e3On0h?NJ1=Ps+OB( zS_4)Hawfy3{Ui0oZ;p!r;SZaD$L`DCaz0v&z1V(q!Kpus^U(RHtkjjiCbr@xNb(f}0OBu2MMazauz;}^{)*&pvB9{y0f z-g#SgyV+a!Y)zF|l3f$I-a@9Ewe-cW={nQDv`}d{dbYP~+WXR9UY3u5I>!!!au8FB z{~{rmb>4nZdI)P}H7@DeA9O=FUJ9fq4f(+a`T%qjqC3AqlF@WJ5Zr%iFjAxr5H8>z zrK?~HNFrYSS+JUE=lM|LP+gBb<&zz1K$YwCzP=A=MI)M$g>Did0!*)B-wFs04nB0W z94*nl*b%w7)7^y@krKzHj_taOC;BQ=EVE3Fl{nU6baWIL>}}TNJYRK&^(v@z@!+TE2uu?p1ZKT^eZ-MMq;F)5(qQq2);2P~#dwBGHy&*9!`b|6y$8!x(} z$|#`_6%M-&Y%Fp&Sq5s{lT=e9bMi|zfs5(cv&e6tzVt;KJRN_3{iacO!Z6bfr{!d) zn5d{*%Z%7+1880yXB_YU@&tzokn*wmCKLkADb%LJhiQ}9P zg-(y5>~d$e5TI4E{RK7YOG8`LSpuZGLoa1=aW8?T@f4)j;p~S;6Fl^Ebab?|mAcLV zjX_gq8B8k?LV`7iUjrLBog-^TNEssQApFo#;|M_ZSq4=>|8b z1H?Ks06JG(7YBk4l*^Zt5c?h*^`1}h&X|X{fmiO_$-fG*f0U$g<^P~2{Et<6J7-?| zn~LvJLU(!nxxK$W|I=3gB4&Jka4AYu)YJrS8!H9!L%k=j>-TQqGu{rtM_3|VOr z10>UIC~qvN8vMK9;ZL7+H}I-aPttf5&E%rXtO3TyJGuA1yYf~dbA-_n)oJ{9777)LRWp0l)ojZ`}5L&;X0LK86 zeuxWDorNz>cR(?keFpTl+K!I9%*>$cZ=gZY zGy!K&%g^UU&NFj&9jEJEE`AYSe9^f&G5?PD|02qOw)>yOu>TOge@`Y*PX6Fce+s1y3OcuIO*0q3HJcMvg^i6VW{}ar&u_ldODEW00v^CDGa%030%U8Z#%BJ*BhS}N z-t18yKYomk=5|;c0^p^9KZifM2H>h!a7W70k}Vrj>jTbO&iAXEl$oQW-aCH}cLG>M zCmF-V!=r$gb|P0e49=Bg;qVNSDGFm5M@7Jr!3zv%?@f9l+#kv9v-hl0Ia-zU!T7tThR!=L^aJ=qna#>Nf*f5}>Ru zg@|Rs($ff;Lj6i)MvwxXI?6H`gUJ=kZ z;0{Ad5<%sj(t84mtk9)zWjDdSkmLG22Z$&C_V)Hm|63B5p1mv(Q`Z?T{_`6Ee*x9M kDw(OK|Jy^v=nI^;a^ijoRI`TQyATiwQJGgIFunKx3!v9c_5c6? literal 0 HcmV?d00001 diff --git a/docs/source/img/admin-guide/device-authz/diagram.png b/docs/source/img/admin-guide/device-authz/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..da9431d5c7378f12145d1cc7afcb08e66f40e7ca GIT binary patch literal 27973 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 z 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 U#Vc;{?n8d~-r6j~bj{9x0Ixu8y8r+H literal 0 HcmV?d00001 From 0ebe62ac4543de68add80ba03650f64d202237fd Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Mon, 27 Jul 2020 10:15:06 -0500 Subject: [PATCH 05/43] Proofreading and formatting sweep --- docs/source/admin-guide/device-authz-grant.md | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/source/admin-guide/device-authz-grant.md b/docs/source/admin-guide/device-authz-grant.md index 5b8d7d738..cf3ac2fa0 100644 --- a/docs/source/admin-guide/device-authz-grant.md +++ b/docs/source/admin-guide/device-authz-grant.md @@ -1,6 +1,6 @@ # OAuth 2.0 Device Authorization Grant -Signing into apps and services on devices such as smart TVs, media consoles, printers and others can be difficult to process, since those kind of devices don't have rich interfaces to process a whole authorization flow, in these cases this grant type try to use another agent like a browser in a computer or a smartphone. +Signing into apps and services on devices such as smart TVs, media consoles, printers and others can be difficult to process, since those kind of devices don't have rich interfaces to process a whole authorization flow, in these cases this grant type tries to use another agent like a browser in a computer or a smartphone. This OAuth 2.0 protocol extension enables OAuth clients to request user authorization from applications on devices that have limited input capabilities or lack a suitable browser. The authorization flow defined by this specification, sometimes referred to as the "device flow", instructs the user to review the authorization request on a secondary device, such as a smartphone, which does have the requisite input and browser capabilities to complete the user interaction. @@ -8,25 +8,25 @@ Specs are written in RFC8628: https://tools.ietf.org/html/rfc8628 ## User Experience -First, user requests authorization from the device: +First, the user requests authorization from the device: ![DeviceFlow1](../img/admin-guide/device-authz/device-flow-1.png) -At the URL displayed on the screen you see an input to put code displayed also in the device. +At the URL displayed on the screen, the user can input the displayed code in the device. ![DeviceFlow2](../img/admin-guide/device-authz/device-flow-2.png) -After that, user could need to authenticate and later he has to decide whether permissions will be granted. +After that, user could need to authenticate, then decide whether permissions will be granted. ![DeviceFlow3](../img/admin-guide/device-authz/device-flow-3.png) -Finally, confirmation screen will be shown. +Finally, the confirmation screen will be shown. ![DeviceFlow4](../img/admin-guide/device-authz/device-flow-4.png) ## How it works -This flow is processed between device and another richer user-agent like browser and different messages are sent to the authorization server between them. +This flow is processed between the device and another richer user-agent like the browser. Different messages are sent to the authorization server between them. ![Diagram](../img/admin-guide/device-authz/diagram.png) @@ -36,11 +36,11 @@ The flow has the following steps: 2. Gluu server responds with different fields used in the following steps, mainly `user_code` and `device_code`. 3. Device displays `user_code` and `verification_url` to the user. 4. User should open `verification_url` using a different user-agent like a web browser from a computer, login and authorize. -5. Device continuously request the token from Gluu server every N seconds until server has a result, it could be many results like: `access_denied`, `expired_token`, `authorization_pending` or it could be also the token generated when user grants the permissions. +5. Device continuously requests the token from Gluu server every N seconds until server has a result, it could be many results like: `access_denied`, `expired_token`, `authorization_pending` or it could be also the token generated when user grants the permissions. -## 1. Request user and device codes +## Request user and device codes -This first step, device sends an HTTP POST request to Gluu authorization server, at `/oxauth/restv1/device_authorization` which is also presented in the `Discovery url` published by Gluu server, this endpoint could process common authentication method or it also couldn't do any authentication, it would depend on the configuration done for the client in Gluu server. +This first step, device sends an HTTP POST request to Gluu authorization server, at `/oxauth/restv1/device_authorization` which is also presented in the `Discovery url` published by Gluu Server, this endpoint could process a common authentication method or it could also not do any authentication, depending on the configuration for the client in Gluu Server. #### Parameters @@ -60,9 +60,9 @@ Authorization: Basic MTIzLTEyMy0xMjM6WkE1aWxpTFFDYUR4 client_id=123-123-123&scope=openid+profile+address+email+phone ``` -## 2. Device Request response +## Device Request response -In response, Gluu authorization server generates a unique device verification code and an end-user code that are valid for a limited time and includes them in the HTTP response body using the "application/json" format with a 200 (OK) status code. The response contains the following parameters: +In response, the Gluu authorization server generates a unique device verification code and an end-user code that are valid for a limited time and includes them in the HTTP response body using the "application/json" format with a 200 (OK) status code. The response contains the following parameters: | Parameter | Description | |--|--| @@ -91,31 +91,31 @@ Server: Jetty(9.4.19.v20190610) } ``` -## 3. Device Display +## Device Display -Common flow, device should display `verification_url` and `user_code` received from Gluu server. The content that the device displays to the user should instruct the user to navigate to the `verification_url` on a separate device and enter the `user_code`. +Common flow, the device should display `verification_url` and `user_code` received from Gluu server. The content that the device displays to the user should instruct the user to navigate to the `verification_url` on a separate device and enter the `user_code`. Design device interface following these rules: 1. `user_code` has the following format: XXXX-XXXX where Xs represent to any ASCII character, for example: *RTXD-HTLK*. The length of the `user_code` will be always the same, therefore it's highly recommended to show it as clear and big that the user can read it easly. -2. `verification_url` should be displayed also in a way that the user can read it easly. Normal length should be around 40 characters, however it could depends also on the domain used for the server. Remember that the user will need to write the whole url manually in the web browser, therefore it's recommended to user a short url. +2. `verification_url` should be displayed also in a way that the user can read it easily. The normal length should be around 40 characters, however it could depends also on the domain used for the server. Remember that the user will need to write the whole URL manually in the web browser, therefore it's recommended to use a short URL. 3. `verification_url_complete` will be used for those cases where device can show QR (Quick Response) codes or NFC (Near Field Communication) to save the user from typing the whole URI. Interaction between device and Gluu server will be the same, however user can process the authorization faster. For example: ![DeviceFlowQR](../img/admin-guide/device-authz/device-flow-qr.png) -## 4. User Login & Authorization +## User Login & Authorization -User will need to put `user_code` value in the browser and after that, he will be redirected to the common authorization flow, it requires login whether there is no session between the user-agent and the Gluu server and grant the permissions based on the device request. +The user will need to put `user_code` value in the browser and after that, he will be redirected to the common authorization flow, it requires login whether there is no session between the user-agent and the Gluu server and grant the permissions based on the device request. -## 5. Poll Token +## Poll Token -Since the user will be using a separate device to navigate to the `verification_url` and grant or deny access, the requesting device is not automatically notified when the user responds to the access request. For that reason, the requesting device needs to poll Gluu server to determine when the user has responded to the request. +Since the user will be using a separate device to navigate to the `verification_url` and grant or deny access, the requesting device is not automatically notified when the user responds to the access request. For that reason, the requesting device needs to poll the Gluu Server to determine when the user has responded to the request. The requesting device should continue sending polling requests until it receives a response indicating that the user has responded to the access request or until the `device_code` expires. The parameter `interval` returned in step 2 specifies the amount of time, in seconds, to wait between requests. -The Url of the endpoint to poll is `/oxauth/restv1/token`. The polling request contains the following parameters: +The URL of the endpoint to poll is `/oxauth/restv1/token`. The polling request contains the following parameters: #### Parameters @@ -138,9 +138,9 @@ Authorization: Basic MTIzLTEyMy0xMjM6WkE1aWxpTFFDYUR4 grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Adevice_code&device_code=0bd7068e7fdab4bb91b313296a96462256a7370d12f073f0 ``` -### 5.1. Token Response +### Token Response -Gluu authorization server responds to each polling request with one of the following responses: +The Gluu authorization server responds to each polling request with one of the following responses: **Access granted** @@ -216,4 +216,4 @@ Server: Jetty(9.4.19.v20190610) ``` **Other errors** -This token endpoint can return any error code already defined, for example whether client can't be authenticated or the grant type sent is invalid. Some of them could be: `invalid_client`, `invalid_grant`, `invalid_request` and others. \ No newline at end of file +This token endpoint can return any error code already defined, for example whether client can't be authenticated or the grant type sent is invalid. Some of them could be: `invalid_client`, `invalid_grant`, `invalid_request` and others. From c10122f637492489f9ba4353e1d3b17e8df52fd7 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Wed, 29 Jul 2020 09:55:11 -0500 Subject: [PATCH 06/43] Testing link fix --- docs/source/admin-guide/saml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/admin-guide/saml.md b/docs/source/admin-guide/saml.md index 39643af7e..5c4ed34ad 100644 --- a/docs/source/admin-guide/saml.md +++ b/docs/source/admin-guide/saml.md @@ -16,7 +16,7 @@ In order to support SAML SSO, the Gluu Server must include the Shibboleth SAML I - During a fresh Gluu Server installation, simply opt in when prompted for Shibboleth. -- To add Shibboleth to an existing Gluu Server deployment, follow [these instructions](../operation/faq.md/#adding-passportjs-andor-shibboleth-idp-post-installation). +- To add Shibboleth to an existing Gluu Server deployment, follow [these instructions](/operation/faq.md/#adding-passportjs-andor-shibboleth-idp-post-installation). In addition, the target application must also support SAML. If the app doesn't already support SAML, see the section below about [SAML SP software](#saml-sp). From 46cd6385da4f3b1ee51aa893eca765820501e6eb Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Wed, 29 Jul 2020 09:55:40 -0500 Subject: [PATCH 07/43] Testing link fix --- docs/source/admin-guide/saml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/admin-guide/saml.md b/docs/source/admin-guide/saml.md index 5c4ed34ad..9592b37f3 100644 --- a/docs/source/admin-guide/saml.md +++ b/docs/source/admin-guide/saml.md @@ -16,7 +16,7 @@ In order to support SAML SSO, the Gluu Server must include the Shibboleth SAML I - During a fresh Gluu Server installation, simply opt in when prompted for Shibboleth. -- To add Shibboleth to an existing Gluu Server deployment, follow [these instructions](/operation/faq.md/#adding-passportjs-andor-shibboleth-idp-post-installation). +- To add Shibboleth to an existing Gluu Server deployment, follow [these instructions](/operation/faq.md#adding-passportjs-andor-shibboleth-idp-post-installation). In addition, the target application must also support SAML. If the app doesn't already support SAML, see the section below about [SAML SP software](#saml-sp). From 9c8f9d15d1d01ddfaba561fc3548ea0ce892da64 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Wed, 29 Jul 2020 09:56:08 -0500 Subject: [PATCH 08/43] Testing link fix --- docs/source/admin-guide/saml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/admin-guide/saml.md b/docs/source/admin-guide/saml.md index 9592b37f3..4a2b2af6e 100644 --- a/docs/source/admin-guide/saml.md +++ b/docs/source/admin-guide/saml.md @@ -16,7 +16,7 @@ In order to support SAML SSO, the Gluu Server must include the Shibboleth SAML I - During a fresh Gluu Server installation, simply opt in when prompted for Shibboleth. -- To add Shibboleth to an existing Gluu Server deployment, follow [these instructions](/operation/faq.md#adding-passportjs-andor-shibboleth-idp-post-installation). +- To add Shibboleth to an existing Gluu Server deployment, follow [these instructions](../operation/faq.md#adding-passportjs-andor-shibboleth-idp-post-installation). In addition, the target application must also support SAML. If the app doesn't already support SAML, see the section below about [SAML SP software](#saml-sp). From 000861534092fa60383b7b3cbf00708c0c29c1dd Mon Sep 17 00:00:00 2001 From: d3c1978 <8533272+d3c1978@users.noreply.github.com> Date: Wed, 29 Jul 2020 12:41:22 -0400 Subject: [PATCH 09/43] Update ports.md Add SCIM port --- docs/source/operation/ports.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/operation/ports.md b/docs/source/operation/ports.md index 6387f974b..8e50e20b0 100644 --- a/docs/source/operation/ports.md +++ b/docs/source/operation/ports.md @@ -8,8 +8,9 @@ The following ports are used by internal Gluu Server applications (i.e. oxAuth, -----|------------- |8081| oxAuth Server| |8082| oxTrust Server| -|8086| Shibboleth IDP| |8085| oxAuth-RP| +|8086| Shibboleth IDP| +|8087| SCIM| |8090| Passport | |8091| Casa | From b4ecfe7e085b7fbbbb0ddea46039b1a72c9d14d5 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Thu, 30 Jul 2020 09:57:05 -0500 Subject: [PATCH 10/43] Link fix --- docs/source/admin-guide/device-authz-grant.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/admin-guide/device-authz-grant.md b/docs/source/admin-guide/device-authz-grant.md index cf3ac2fa0..8bdf732e8 100644 --- a/docs/source/admin-guide/device-authz-grant.md +++ b/docs/source/admin-guide/device-authz-grant.md @@ -4,7 +4,7 @@ Signing into apps and services on devices such as smart TVs, media consoles, pri This OAuth 2.0 protocol extension enables OAuth clients to request user authorization from applications on devices that have limited input capabilities or lack a suitable browser. The authorization flow defined by this specification, sometimes referred to as the "device flow", instructs the user to review the authorization request on a secondary device, such as a smartphone, which does have the requisite input and browser capabilities to complete the user interaction. -Specs are written in RFC8628: https://tools.ietf.org/html/rfc8628 +Specs are written in [RFC8628](https://tools.ietf.org/html/rfc8628) ## User Experience From 3fe3f212bc421244ec64cf25306df5117fc15429 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Thu, 30 Jul 2020 11:16:47 -0500 Subject: [PATCH 11/43] Added missing note --- docs/source/admin-guide/custom-script.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/admin-guide/custom-script.md b/docs/source/admin-guide/custom-script.md index 466b46bd8..6a2b54d33 100644 --- a/docs/source/admin-guide/custom-script.md +++ b/docs/source/admin-guide/custom-script.md @@ -10,6 +10,10 @@ Interception scripts are written in [Jython](http://www.jython.org), enabling Ja While the syntax of the script requires Python, most of the functionality can be written in Java. If Python classes are imported, they must be "pure python." For example, a class that wraps C libraries can not be imported. +!!! Note + If Python classes are imported, they must be "pure Python." For example, a class that wraps C libraries can not be imported. The same goes for Python packages which require `cython` during compiling. + + ### Methods There are three methods that inherit a base interface: From c455817b00fdc34910a2dc33f55b21de9292c4da Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Thu, 30 Jul 2020 11:19:08 -0500 Subject: [PATCH 12/43] Added authn flow extension pics --- .../img/user-authn/authn_authenticate_flow.png | Bin 0 -> 314512 bytes .../user-authn/authn_prepareforstep_flow.png | Bin 0 -> 287819 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/source/img/user-authn/authn_authenticate_flow.png create mode 100644 docs/source/img/user-authn/authn_prepareforstep_flow.png diff --git a/docs/source/img/user-authn/authn_authenticate_flow.png b/docs/source/img/user-authn/authn_authenticate_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..441032ed58bfa911ed47f2354477f60c30b9af5c GIT binary patch literal 314512 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 literal 0 HcmV?d00001 diff --git a/docs/source/img/user-authn/authn_prepareforstep_flow.png b/docs/source/img/user-authn/authn_prepareforstep_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..c01d809409e4c78403ae05d2a580f81ec6c0f73e GIT binary patch literal 287819 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 Date: Thu, 30 Jul 2020 11:19:17 -0500 Subject: [PATCH 13/43] Added Authn Flow Extension info --- docs/source/authn-guide/intro.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/source/authn-guide/intro.md b/docs/source/authn-guide/intro.md index 601ed28f5..e11141c33 100644 --- a/docs/source/authn-guide/intro.md +++ b/docs/source/authn-guide/intro.md @@ -102,3 +102,20 @@ Learn how to customize the look and feel of Gluu Server login pages in the [Desi ## Revert Authentication New authentication flows and methods should **always** be tested in a different browser to reduce the chance of lockout. However, in case you find yourself locked out of the GUI, refer to the [revert authentication mechanism docs](../operation/faq.md#revert-an-authentication-method). + +## Extending the Authentication Flow + +The oxAuth Person Authenticator Script (ACR) interface includes methods extend the user authentication flow. There are two entry points of this flow, `prepareForStep` and `authenticate`. + +oxAuth calls `prepareForStep` from XTHML, and its role is to prepare data to render the login page or redirect to a third party system for authentication. + +oxAuth expects `authenticate` to call from the login page or from `/oxauth/postlogin.htm` (the callback from a third party system). Its role is to verify user data that is submitted by the user. + +The following diagram demonstrates the `authenticate` flow: + +[![authenticate flow diagram](../img/user-authn/authn_authenticate_flow.png)](../img/user-authn/authn_authenticate_flow.png)) + +The following diagram demonstrates the `prepareForStep` flow: + +[![prepareForStep flow diagram](../img/user-authn/authn_prepareforstep_flow.png)](../img/user-authn/authn_prepareforstep_flow.png) + From f9146375b0982ac03f71e70e79dcb496a24d3932 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:17:37 -0500 Subject: [PATCH 14/43] Updated script location --- docs/source/authn-guide/inbound-oauth-passport.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/authn-guide/inbound-oauth-passport.md b/docs/source/authn-guide/inbound-oauth-passport.md index f75f5a6ad..d13e3f11b 100644 --- a/docs/source/authn-guide/inbound-oauth-passport.md +++ b/docs/source/authn-guide/inbound-oauth-passport.md @@ -12,7 +12,8 @@ Make sure the Gluu Server installation already has [Passport installed](./passpo - In oxTrust, navigate to `Configuration` > `Person Authentication Scripts` - Expand the script labelled `passport_social`, check `enabled`, and click `Update` ![Enable passport_social](../img/user-authn/passport/enable-passport_social.png) - - Navigate to the `UMA RPT Policies` tab, expand the script labelled `scim_access_policy`, check `enabled`, and click `Update` + - Navigate to the `Configuration` > `Other Custom Scripts`, then click the `UMA RPT Policies` tab + - Expand the script labeled `scim_access_policy`, check `enabled`, and click `Update` 1. Enable Passport support: From cfe4b9993d30be228ecc0ed1e2f89239b15e3d58 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Tue, 4 Aug 2020 09:26:50 -0500 Subject: [PATCH 15/43] Updated openDJ commands --- docs/source/operation/backup.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/operation/backup.md b/docs/source/operation/backup.md index ce866d1a8..7e983d3dd 100644 --- a/docs/source/operation/backup.md +++ b/docs/source/operation/backup.md @@ -37,7 +37,7 @@ There are multiple methods for backing up the Gluu Server. A few recommended str 1. First check your cache entries by running the following command: ```bash - /opt/opendj/bin/ldapsearch -h localhost -p 1636 -Z -X -D "cn=directory manager" -w -b 'o=gluu' -T 'oxAuthGrantId=*' dn | grep 'dn:' | wc -l + /opt/opendj/bin/ldapsearch -h localhost -p 1636 -Z -X -D "cn=directory manager" -w -b 'o=gluu' 'oxAuthGrantId=*' dn | grep 'dn:' | wc -l ``` 1. Dump the data as LDIF @@ -146,7 +146,7 @@ There are multiple methods for backing up the Gluu Server. A few recommended str 1. Finally, verify the cache entries have been removed: ```bash - /opt/opendj/bin/ldapsearch -h localhost -p 1636 -Z -X -D "cn=directory manager" -w -b 'o=gluu' -T 'oxAuthGrantId=*' dn | grep 'dn:' | wc –l + /opt/opendj/bin/ldapsearch -h localhost -p 1636 -Z -X -D "cn=directory manager" -w -b 'o=gluu' 'oxAuthGrantId=*' dn | grep 'dn:' | wc –l ``` You should be done and everything should be working perfectly. You may notice your Gluu Server responding slower than before. That is expected -- your LDAP is adjusting to the new data, and indexing might be in process. Give it some time and it should be back to normal. From 3d170d0a6e8d2001f767c903fc939bde82100231 Mon Sep 17 00:00:00 2001 From: Christian <59786962+christian-hawk@users.noreply.github.com> Date: Tue, 4 Aug 2020 16:36:57 -0300 Subject: [PATCH 16/43] Update backup.md --- docs/source/operation/backup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/operation/backup.md b/docs/source/operation/backup.md index 7e983d3dd..5f1c63ea2 100644 --- a/docs/source/operation/backup.md +++ b/docs/source/operation/backup.md @@ -71,7 +71,7 @@ There are multiple methods for backing up the Gluu Server. A few recommended str - Now export the LDIF and save it somewhere safe. You will not be importing this if you choose to apply any filters as below: ```bash - /opt/opendj/bin/export-ldif -n userRoot -l exactdatabackup_date.ldif + /opt/opendj/bin/export-ldif -n userRoot -l exactdatabackup_date.ldif --offline ``` - Now exclude `oxAuthGrantId` so the command becomes: From 2aa9ca5d90ca8ab9f681c313793aee50e61e2441 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Wed, 5 Aug 2020 11:19:16 -0500 Subject: [PATCH 17/43] Formatting fix --- docs/source/installation-guide/index.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/source/installation-guide/index.md b/docs/source/installation-guide/index.md index 451e905c3..ccaf23424 100644 --- a/docs/source/installation-guide/index.md +++ b/docs/source/installation-guide/index.md @@ -104,7 +104,7 @@ session required pam_limits.so It is recommended to check the FD limit before increasing it. If this limit is customized and more than default, we recommend using the higher one. The FD limit can be found using the following command. ``` -# cat /proc/sys/fs/file-max +cat /proc/sys/fs/file-max ``` Please note, the command may vary depending on the OS in use. @@ -290,17 +290,17 @@ guide you through kernel update in the Linode VM. * Check for the current version of the kernel. If the output contains `-Linode`, then proceed ``` -# uname -a +uname -a ``` * Run the following command to update the kernel: ``` -# apt-get install linux-image-virtual grub2 +apt-get install linux-image-virtual grub2 ``` * Modify `grub` file in the `/etc/default/` folder: ``` -# vim /etc/default/grub +vim /etc/default/grub ``` * Ensure that the following lines are present in the grub file @@ -313,6 +313,9 @@ GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1 * Finally run the following commands to update `grub` and reboot: ``` -# update-grub -# reboot +update-grub +``` + +``` +reboot ``` From 362148ab367ccd6247ef069f920c2f9c6ec6529f Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Wed, 5 Aug 2020 12:35:13 -0500 Subject: [PATCH 18/43] Updated install links --- docs/source/installation-guide/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/installation-guide/index.md b/docs/source/installation-guide/index.md index ccaf23424..ed44d6a0f 100644 --- a/docs/source/installation-guide/index.md +++ b/docs/source/installation-guide/index.md @@ -28,10 +28,10 @@ A few additional notes about system requirements: Deploy Gluu on a server or VM with one of the following supported operating systems: - [Docker](./install-docker.md) -- [Ubuntu 16, 18](./install-ubuntu.md) -- [CentOS 7.x](./install-centos.md) -- [RHEL 7.x](./install-rhel.md) -- [Debian 8, 9](./install-debian.md) +- [Ubuntu 18, 20](./install-ubuntu.md) +- [CentOS 7, 8](./install-centos.md) +- [RHEL 7, 8](./install-rhel.md) +- [Debian 9, 10](./install-debian.md) ## Ports From f4a6e548b1034199d44f4cbc759a122555b22293 Mon Sep 17 00:00:00 2001 From: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> Date: Thu, 6 Aug 2020 09:53:50 -0400 Subject: [PATCH 19/43] Update test-drive.md --- docs/source/installation-guide/test-drive.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/installation-guide/test-drive.md b/docs/source/installation-guide/test-drive.md index ce89e8649..cf1c4ccd9 100644 --- a/docs/source/installation-guide/test-drive.md +++ b/docs/source/installation-guide/test-drive.md @@ -36,12 +36,12 @@ For Docker deployments on OS X, make sure you have the following: 1. Obtain the files for deployment: ``` - wget https://github.com/GluuFederation/community-edition-containers/archive/4.2.0.zip \ - && unzip 4.2.0.zip + wget https://github.com/GluuFederation/community-edition-containers/archive/4.2.zip \ + && unzip 4.2.zip ``` ``` - cd community-edition-containers-4.2.0/examples/single-host + cd community-edition-containers-4.2/examples/single-host ``` ``` From 171b6cda58b0efe54aafeaca3033b439fc986eda Mon Sep 17 00:00:00 2001 From: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> Date: Thu, 6 Aug 2020 10:28:54 -0400 Subject: [PATCH 20/43] Delete test-drive.md --- docs/source/installation-guide/test-drive.md | 125 ------------------- 1 file changed, 125 deletions(-) delete mode 100644 docs/source/installation-guide/test-drive.md diff --git a/docs/source/installation-guide/test-drive.md b/docs/source/installation-guide/test-drive.md deleted file mode 100644 index cf1c4ccd9..000000000 --- a/docs/source/installation-guide/test-drive.md +++ /dev/null @@ -1,125 +0,0 @@ -# Test Drive Demo - -## Overview - -Follow the instructions below to quickly deploy a single-node Gluu Server demo using Docker. - -!!! Note - "Test drive" is perfect for *testing* the Gluu Server. For production deployments, follow instructions for your [OS of choice](./index.md#supported-operating-systems), e.g. [Docker](./install-docker.md). - -## Requirements - -### Linux Requirements - -For Docker deployments on Linux, provision a VM with: - -- The minimum system requirements, as described in the [VM Preparation Guide](../installation-guide/index.md#system-requirements). - -- Both [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-convenience-script) and [Docker Compose](https://docs.docker.com/compose/install/#install-compose) installed. - -### OS X (Mac) Requirements - -For Docker deployments on OS X, make sure you have the following: - -- The minimum [system requirements](https://docs.docker.com/docker-for-mac/install/) - -- [Docker Desktop for Mac](https://hub.docker.com/editions/community/docker-ce-desktop-mac) - -## Instructions - -1. Log in as root: - - ``` - sudo su - - ``` - -1. Obtain the files for deployment: - - ``` - wget https://github.com/GluuFederation/community-edition-containers/archive/4.2.zip \ - && unzip 4.2.zip - ``` - - ``` - cd community-edition-containers-4.2/examples/single-host - ``` - - ``` - chmod +x run_all.sh - ``` - -1. Run the following command and follow the prompts: - - ``` - ./run_all.sh - ``` - - Do not be alarmed about the `warning` alerts that may show up. Wait until it prompts you for information or loads the previous configuration found. If this is a fresh install, the output will look like this : - - ``` - ./run_all.sh - [I] Determining OS Type and Attempting to Gather External IP Address - Host is detected as Linux - Is this the correct external IP Address: 172.189.222.111 [Y/n]? y - [I] Preparing cluster-wide config and secrets - WARNING: The DOMAIN variable is not set. Defaulting to a blank string. - WARNING: The HOST_IP variable is not set. Defaulting to a blank string. - Pulling consul (consul:)... - latest: Pulling from library/consul - bdf0201b3a05: Pull complete - af3d1f90fc60: Pull complete - d3a756372895: Pull complete - 54efc599d7c7: Pull complete - 73d2c234fe14: Pull complete - cbf8018e609a: Pull complete - Digest: sha256:bce60e9bf3e5bbbb943b13b87077635iisdksdf993579d8a6d05f2ea69bccd - Status: Downloaded newer image for consul:latest - Creating consul ... done - [I] Checking existing config in Consul - [W] Unable to get config in Consul; retrying ... - [W] Unable to get config in Consul; retrying ... - [W] Unable to get config in Consul; retrying ... - [W] Configuration not found in Consul - [I] Creating new configuration, please input the following parameters - Enter Domain: yourdomain - Enter Country Code: US - Enter State: TX - Enter City: Austin - Enter Email: email@example.com - Enter Organization: Gluu Inc - Enter Admin/LDAP Password: - Confirm Admin/LDAP Password: - Continue with the above settings? [Y/n]y - ``` - - The startup process may take some time. You can keep track of the deployment by using the following command: - - ``` - ./run_all.sh logs -f - ``` - -## Uninstall the Gluu demo - -To remove all deployed objects, run the following command inside `community-edition-containers-4.2.0/examples/single-host`: - - ``` - ./run_all.sh down - ``` - -## FAQ - -- **How to use ldapsearch** - -``` -docker exec -ti ldap /opt/opendj/bin/ldapsearch -h localhost -p 1636 -Z -X -D "cn=directory manager" -b "o=gluu" -s base -T "objectClass=*" -``` - -- **Locked out of your Gluu demo? This is how Vault can be manually unlocked** - - 1. Get Unseal key from `vault_key_token.txt` - - 1. Log into vault container: `docker exec -it vault sh` - - 1. Run this command : `vault operator unseal` - - 1. Wait for about 10 mins for the containers to get back to work. From f95e8fd8a535b9052dcc58f939ab0da512ccce07 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Fri, 7 Aug 2020 10:15:24 -0500 Subject: [PATCH 21/43] Updated ldap backup command --- docs/source/operation/backup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/operation/backup.md b/docs/source/operation/backup.md index 5f1c63ea2..2305c7246 100644 --- a/docs/source/operation/backup.md +++ b/docs/source/operation/backup.md @@ -295,7 +295,7 @@ There are multiple methods for backing up the Gluu Server. A few recommended str A file named `ldap-backup.yaml` will have been generated during installation of backup strategy. Use that as follows to remove the backup strategy: ```bash - kubectl delete -f ./couchbase-backup.yaml + kubectl delete -f ./ldap-backup.yaml ``` #### Restore from backup From a1fcdc3bd1988ff649343dac2fda3e806ad6d165 Mon Sep 17 00:00:00 2001 From: mogluu <47318409+mogluu@users.noreply.github.com> Date: Fri, 7 Aug 2020 13:24:59 -0400 Subject: [PATCH 22/43] Update install-kubernetes.md --- docs/source/installation-guide/install-kubernetes.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/source/installation-guide/install-kubernetes.md b/docs/source/installation-guide/install-kubernetes.md index 492602d9e..4d6e6788c 100644 --- a/docs/source/installation-guide/install-kubernetes.md +++ b/docs/source/installation-guide/install-kubernetes.md @@ -966,6 +966,17 @@ Examples: ``` ### Working with Jackrabbit +| Services | Folder | Jackrabbit Repository | Method | +| ---------------- | --------------------------------- | ------------------------------------------------------- | -------------------- | +| `oxAuth` | `/opt/gluu/jetty/oxauth/custom` | `/repository/default/opt/gluu/jetty/oxauth/custom` | `PULL` from Jackrabbit | +| `oxTrust` | `/opt/gluu/jetty/identity/custom` | `/repository/default/opt/gluu/jetty/identity/custom` | `PULL` from Jackrabbit | +| `Casa` | `/opt/gluu/jetty/casa` | `/repository/default/opt/gluu/jetty/casa` | `PULL` from Jackrabbit | +| `oxShibboleth` | `/opt/shibboleth-idp` | `/repository/default/opt/shibboleth-idp` | `PULL` from Jackrabbit | +| `oxTrust` | `/opt/shibboleth-idp` | `/repository/default/opt/shibboleth-idp` | `PUSH` to Jackrabbit | + +The above means that Jackrabbit will maintain the source folder on all replicas of a service. If one pushed a custom file to `/opt/gluu/jetty/oxauth/custom` at one replica all other replicas would have this file. + + === "File managers" !!!note From 97d786ddc7c659468c1c3a1d493b81419a6dfdb7 Mon Sep 17 00:00:00 2001 From: iromli Date: Sat, 8 Aug 2020 04:13:40 +0700 Subject: [PATCH 23/43] docker: add service support section --- .../installation-guide/install-docker.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/source/installation-guide/install-docker.md b/docs/source/installation-guide/install-docker.md index ac73a6873..368ec6d0b 100644 --- a/docs/source/installation-guide/install-docker.md +++ b/docs/source/installation-guide/install-docker.md @@ -83,6 +83,7 @@ The following services are available during deployment: | `registrator` | - | yes | always | | `vault` | - | yes | always | | `nginx` | - | yes | always | +| `persistence` | `JOB_PERSISTENCE` | yes | yes | | `oxauth` | `SVC_OXAUTH` | no | yes | | `oxtrust` | `SVC_OXTRUST` | no | yes | | `ldap` | `SVC_LDAP` | no | yes | @@ -125,6 +126,25 @@ services: If `docker-compose.override.yml` exists, this file will be added as the last Compose file. For reference on multiple Compose file, please take a look at [https://docs.docker.com/compose/extends/#multiple-compose-files](https://docs.docker.com/compose/extends/#multiple-compose-files). +#### Enabling service support + +Several services may need extra setting in `settings.py` to enable submenus, custom scripts, etc. upon first installation. + +| Service | Setting Name | Default Value | +| ------------------- | ----------------------- | ------------- | +| `casa` | `CASA_ENABLED` | `False` | +| `oxpassport` | `PASSPORT_ENABLED` | `False` | +| `oxshibboleth` | `SAML_ENABLED` | `False` | +| `radius` | `RADIUS_ENABLED` | `False` | +| `scim` | `SCIM_ENABLED` | `False` | + +To enable the setting, set the value to `True`, example: + +```python +# settings.py +SAML_ENABLED = True +``` + #### Choose persistence backends Supported backends are LDAP, Couchbase, or mix of both (hybrid). The following config control which persistence backend is selected: From b0bbc2c490be5398aa78eff64235030e247ef843 Mon Sep 17 00:00:00 2001 From: Jose Date: Sat, 8 Aug 2020 08:30:12 -0500 Subject: [PATCH 24/43] Add docs for https://github.com/GluuFederation/community-edition-setup/issues/663 --- docs/mkdocs.yml | 1 + .../operation/auto-enrolled-users-clean.md | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 docs/source/operation/auto-enrolled-users-clean.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7b659617e..113fb3660 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -165,6 +165,7 @@ nav: - 'Change IP Address': 'operation/changeip.md' - 'Server Clean-up': 'operation/cleanup.md' - 'Replacing Expired JKS Files': 'operation/replace-expired-jks-scim.md' + - 'Auto-enrolled users clean-up': 'operation/auto-enrolled-users-clean.md' - Developer Guide: # - 'Build oxTrust with Eclipse': 'developer-guide/oxtrust-eclipse.md' - 'Coding custom scripts and pages': 'developer-guide/tips-cust-script-pages.md' diff --git a/docs/source/operation/auto-enrolled-users-clean.md b/docs/source/operation/auto-enrolled-users-clean.md new file mode 100644 index 000000000..2995d2dc4 --- /dev/null +++ b/docs/source/operation/auto-enrolled-users-clean.md @@ -0,0 +1,30 @@ +# Cleaning entries for auto-enrolled users + +## Overview + +If your environment supports inbound identity by means of Passport, users auto-create local accounts in the Gluu server when they authenticate through external identity providers, be they social sites, IDPs, etc. + +With time, many unused entries can accumulate in your database, thus you can use the removal tool to delete or deactivate entries corresponding to users that have not logged-in after a specified date and were created in an setting of inbound identity (Passport usage or with [Casa accounts linking plugin](https://gluu.org/docs/casa/plugins/account-linking/)). + +## Using the script + +Download the [script](https://github.com/GluuFederation/community-edition-setup/raw/master/static/scripts/remove_external_people.py) to your Gluu chroot. + +You can type `python3 remove_external_people.py -h` to learn about script usage. The following summarizes key parameters: + +- `remove`: If removal of accounts should take place. When ommited, accounts will be only deactivated (by setting `status` database attribute to `inactive`). + +- `provider-only`: Account only user entries that have been enrolled through the designated identity provider. Examples: "github", "my-OP-1", "Okta-1234". The value must match the identifier used in the Passport providers form in oxTrust. When this param is ommited, removal/deactivation applies for all providers found in `oxExternalUid` database attribute. + +`last-logon`: Removal/deactivation will take place upon entries whose last logon time is earlier or equal than the provided value. Example: `2008-11-30`. + +!!! Note +No user belonging to an administrative group will be considered in this process. + +## Example + +To remove auto-enrolled users that haven't logged in to any app after Dec 25th, 1998, you could do: + +`python3 remove_external_people.py -remove last-logon 1998-12-25` + +Output (in ldif format) will be sent to `remove.log` file. From 48505f357793bf5e3416abf21221afbb8c9d05fb Mon Sep 17 00:00:00 2001 From: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> Date: Mon, 10 Aug 2020 02:48:08 -0400 Subject: [PATCH 25/43] Update certificate.md --- docs/source/admin-guide/certificate.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/source/admin-guide/certificate.md b/docs/source/admin-guide/certificate.md index ccfae3ae0..cdc7e07b0 100644 --- a/docs/source/admin-guide/certificate.md +++ b/docs/source/admin-guide/certificate.md @@ -142,7 +142,7 @@ restartPolicy: Never containers: - name: web-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm # This may be differnet in Helm @@ -194,7 +194,7 @@ path: gluu_https.key containers: - name: load-web-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm #This may be differnet in Helm @@ -242,7 +242,7 @@ spec: containers: - name: oxauth-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 resources: requests: memory: "300Mi" @@ -292,7 +292,7 @@ restartPolicy: Never containers: - name: oxshibboleth-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm @@ -334,7 +334,7 @@ restartPolicy: Never containers: - name: oxd-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm @@ -375,7 +375,7 @@ restartPolicy: Never containers: - name: ldap-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm @@ -417,7 +417,7 @@ restartPolicy: Never containers: - name: passport-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm @@ -454,7 +454,7 @@ restartPolicy: Never containers: - name: scim-key-rotation - image: gluufederation/certmanager:4.2.0_dev + image: gluufederation/certmanager:4.2.0_01 envFrom: - configMapRef: name: gluu-config-cm @@ -465,4 +465,4 @@ ```bash kubectl apply -f scim-key-rotation.yaml -n - ``` \ No newline at end of file + ``` From 067481bb59cb51890e808c517768e1794c0be735 Mon Sep 17 00:00:00 2001 From: YuriyZ Date: Mon, 10 Aug 2020 11:24:11 +0300 Subject: [PATCH 26/43] docs : added note about skipRefreshTokenDuringRefreshing flag. https://github.com/GluuFederation/oxAuth/issues/1437 --- docs/source/reference/JSON-oxauth-prop.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/reference/JSON-oxauth-prop.md b/docs/source/reference/JSON-oxauth-prop.md index 908dbf4fb..6bd4f9ba8 100644 --- a/docs/source/reference/JSON-oxauth-prop.md +++ b/docs/source/reference/JSON-oxauth-prop.md @@ -162,6 +162,7 @@ changeSessionIdOnAuthentication | Boolean value specifying wh forceOfflineAccessScopeToEnableRefreshToken | Boolean value specifying whether force offline_access scope to enable refresh_token grant type. Default value is true. errorReasonEnabled | Boolean value specifying whether to return detailed reason of the error from AS. Default value is false. removeRefreshTokensForClientOnLogout | Boolean value specifying whether to remove Refresh Tokens on logout. Default value is false. +skipRefreshTokenDuringRefreshing | Boolean value specifying whether to return Refresh Tokens from Token Endpoint during refreshing (`grant_type=refresh_token`). Default value is false (return token). ### Brute Force Protection From f5ce82234845b1a0cf6092c280470d7cca3cd17f Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Mon, 10 Aug 2020 12:47:17 -0500 Subject: [PATCH 27/43] Creating WIP SNAP installation instructions --- docs/source/installation-guide/install-snap.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/source/installation-guide/install-snap.md diff --git a/docs/source/installation-guide/install-snap.md b/docs/source/installation-guide/install-snap.md new file mode 100644 index 000000000..ebf31e26a --- /dev/null +++ b/docs/source/installation-guide/install-snap.md @@ -0,0 +1 @@ +# SNAP Installation From 278ec28ae10da8844335d88b83f8473edfc9b1a3 Mon Sep 17 00:00:00 2001 From: YuriyZ Date: Tue, 11 Aug 2020 20:17:58 +0300 Subject: [PATCH 28/43] docs : added note about dynamicRegistrationAllowedPasswordGrantScopes configuration. https://github.com/GluuFederation/oxAuth/issues/1130 --- docs/source/reference/JSON-oxauth-prop.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/reference/JSON-oxauth-prop.md b/docs/source/reference/JSON-oxauth-prop.md index 6bd4f9ba8..866cb4a6e 100644 --- a/docs/source/reference/JSON-oxauth-prop.md +++ b/docs/source/reference/JSON-oxauth-prop.md @@ -163,6 +163,7 @@ forceOfflineAccessScopeToEnableRefreshToken | Boolean value specifying wh errorReasonEnabled | Boolean value specifying whether to return detailed reason of the error from AS. Default value is false. removeRefreshTokensForClientOnLogout | Boolean value specifying whether to remove Refresh Tokens on logout. Default value is false. skipRefreshTokenDuringRefreshing | Boolean value specifying whether to return Refresh Tokens from Token Endpoint during refreshing (`grant_type=refresh_token`). Default value is false (return token). +dynamicRegistrationAllowedPasswordGrantScopes | Specifies allowed scopes if client has grant_type=password. Otherwise ignored. It's also ignored when list is empty. ### Brute Force Protection From f8309d621c3daa3a785b79c96b465a3b9ccdb182 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Thu, 13 Aug 2020 08:59:49 -0500 Subject: [PATCH 29/43] Updated with current process --- docs/source/operation/changeip.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/source/operation/changeip.md b/docs/source/operation/changeip.md index 62f4b1c87..461be5a09 100644 --- a/docs/source/operation/changeip.md +++ b/docs/source/operation/changeip.md @@ -4,16 +4,8 @@ If your IP changes after initial setup, you need to change your Gluu Server's co 1. Start the Gluu Server 1. Log in to Gluu Server Chroot container -1. Update the Apache Configuration - - Navigate to `/etc/apache2/sites-available` - - Open `https_gluu.conf` in a text editor - - Change the IP address - - [Restart](./services.md#restart) the `apache2` service -1. Update the LDAP Configuration - - Open the LDAP in an LDAP editor or browser - - Update 'gluuIpAddress', under the root ou=appliances DN 1. Change the IP address in `/etc/hosts` file -1. [Restart](./services.md#restart) the `opendj` service +1. [Restart](./services.md#restart) the `opendj` service (or other service used for persistence) 1. [Restart](./services.md#restart) the `httpd` service 1. [Restart](./services.md#restart) the `idp` service 1. [Restart](./services.md#restart) the `identity` service From cd77a0dbadab660f46c624531e8c7e135cc28724 Mon Sep 17 00:00:00 2001 From: YuriyZ Date: Mon, 17 Aug 2020 10:18:08 +0300 Subject: [PATCH 30/43] docs : added description of new software statement validation options. https://github.com/GluuFederation/oxAuth/issues/1444 --- docs/source/admin-guide/custom-script.md | 6 +++++- docs/source/admin-guide/openid-connect.md | 12 ++++++++++++ .../sample-client-registration-script.py | 13 ++++++++++--- docs/source/reference/JSON-oxauth-prop.md | 2 ++ 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/docs/source/admin-guide/custom-script.md b/docs/source/admin-guide/custom-script.md index 6a2b54d33..d6a1153b8 100644 --- a/docs/source/admin-guide/custom-script.md +++ b/docs/source/admin-guide/custom-script.md @@ -195,7 +195,11 @@ First oxTrust executes the `initRegistration` method to do an initial user entry oxAuth implements the [OpenID Connect dynamic client registration](https://openid.net/specs/openid-connect-registration-1_0.html) specification. All new clients have the same default access scopes and attributes except password and client ID. The Client Registration script allows an admin to modify this limitation. In this script it is possible to get a registration request, analyze it, and apply customizations to registered clients. For example, a script can give access to specified scopes if `redirect_uri` belongs to a specified service or domain. -This script type adds only one method to the base script type: +This script type adds following methods to the base script type: +- `def createClient(self, registerRequest, client, configurationAttributes)` - called during client creation +- `def updateClient(self, registerRequest, client, configurationAttributes)` - called during client update +- `def getSoftwareStatementHmacSecret(self, context)` - Returns secret key which will be used to validate Software Statement if HMAC algorithm is used (e.g. HS256, HS512). Invoked if oxauth conf property softwareStatementValidationType=SCRIPT which is default/fallback value. `context` is reference of `org.gluu.oxauth.service.external.context.DynamicClientRegistrationContext` (in https://github.com/GluuFederation/oxauth project ) +- `def getSoftwareStatementJwks(self, context)` - Returns JWKS which will be used to validate Software Statement if keys are used (e.g. RS256). Invoked if oxauth conf property softwareStatementValidationType=SCRIPT which is default/fallback value. `context` is reference of org.gluu.oxauth.service.external.context.DynamicClientRegistrationContext (in https://github.com/GluuFederation/oxauth project ) |Method|`def updateClient(self, registerRequest, client, configurationAttributes)`| |---|---| diff --git a/docs/source/admin-guide/openid-connect.md b/docs/source/admin-guide/openid-connect.md index 95c6fbbb3..8c4ebea4c 100644 --- a/docs/source/admin-guide/openid-connect.md +++ b/docs/source/admin-guide/openid-connect.md @@ -97,6 +97,18 @@ To manage this feature in oxTrust, navigate to `Configuration` > `JSON Configura Expiration of dynamically registered clients is controlled by the `dynamicRegistrationExpirationTime` property, which can also be found in the oxAuth configuration table. Find more details about these oxAuth properties and others in the [reference section](../reference/JSON-oxauth-prop.md). + +##### Software statement + +A software statement is a JSON Web Token (JWT) that asserts metadata values about the client software as a bundle and can be passed during registration. + +There are following options for software statement validation: + +- `softwareStatementValidationType=script` - default one (since 4.2.1), jwks and hmac secret are returned by [dynamic client registration script](https://github.com/GluuFederation/community-edition-setup/blob/version_4.2.1/static/extension/client_registration/SampleScript.py) +- `softwareStatementValidationType=jwks_uri`, allows to specify `jwks_uri` claim name from `software_statement`. Claim name specified by `softwareStatementValidationClaimName` configuration property +- `softwareStatementValidationType=jwks`, allows to specify `jwks` claim name from `software_statement`. Claim name specified by `softwareStatementValidationClaimName` configuration property +- `softwareStatementValidationType=none`, no validation + ### Customizing client registration During client registration, custom interception scripts can be used to implement custom business logic. For instance, data could be validated, extra client claims could be populated, scopes could be modified, or APIs could be called to determine whether the client should get registered at all. diff --git a/docs/source/admin-guide/sample-client-registration-script.py b/docs/source/admin-guide/sample-client-registration-script.py index 2385ca3f0..1a4d24a7c 100644 --- a/docs/source/admin-guide/sample-client-registration-script.py +++ b/docs/source/admin-guide/sample-client-registration-script.py @@ -53,8 +53,15 @@ def updateClient(self, registerRequest, client, configurationAttributes): return True - def logout(self, configurationAttributes, requestParameters): - return True - def getApiVersion(self): return 1 + + # Returns secret key which will be used to validate Software Statement if HMAC algorithm is used (e.g. HS256, HS512). Invoked if oxauth conf property softwareStatementValidationType=SCRIPT which is default/fallback value. + # context is reference of org.gluu.oxauth.service.external.context.DynamicClientRegistrationContext (in https://github.com/GluuFederation/oxauth project ) + def getSoftwareStatementHmacSecret(self, context): + return "" + + # Returns JWKS which will be used to validate Software Statement if keys are used (e.g. RS256). Invoked if oxauth conf property softwareStatementValidationType=SCRIPT which is default/fallback value. + # context is reference of org.gluu.oxauth.service.external.context.DynamicClientRegistrationContext (in https://github.com/GluuFederation/oxauth project ) + def getSoftwareStatementJwks(self, context): + return "" \ No newline at end of file diff --git a/docs/source/reference/JSON-oxauth-prop.md b/docs/source/reference/JSON-oxauth-prop.md index 866cb4a6e..e6c059e55 100644 --- a/docs/source/reference/JSON-oxauth-prop.md +++ b/docs/source/reference/JSON-oxauth-prop.md @@ -164,6 +164,8 @@ errorReasonEnabled | Boolean value specifying wh removeRefreshTokensForClientOnLogout | Boolean value specifying whether to remove Refresh Tokens on logout. Default value is false. skipRefreshTokenDuringRefreshing | Boolean value specifying whether to return Refresh Tokens from Token Endpoint during refreshing (`grant_type=refresh_token`). Default value is false (return token). dynamicRegistrationAllowedPasswordGrantScopes | Specifies allowed scopes if client has grant_type=password. Otherwise ignored. It's also ignored when list is empty. +softwareStatementValidationType | Specifies validation type for software statement during Dynamic Client Registration. `script` - validate with help of Dynamic Client Registration custom script, `jwks_uri` - validate by JWKS fetched by uri where jwks_uri is specified as claim of software statement by name defined in softwareStatementValidationClaimName. `jwks` - validate by JWKS which are taken from sofware statement claims. Not recommended. Claim name specified by softwareStatementValidationClaimName. `none` - validation of software statement is skipped. +softwareStatementValidationClaimName | Specifies claim name within software statement. Used with `softwareStatementValidationType=jwks_uri` or `softwareStatementValidationType=jwks`. ### Brute Force Protection From d2f3d8a039f927fd7a2f4675a64b114a802f9ccc Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Mon, 17 Aug 2020 09:13:51 -0500 Subject: [PATCH 31/43] Updated versions in uninstallation doc --- docs/source/installation-guide/install-ubuntu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/installation-guide/install-ubuntu.md b/docs/source/installation-guide/install-ubuntu.md index 31e86dcbf..b55d44c13 100644 --- a/docs/source/installation-guide/install-ubuntu.md +++ b/docs/source/installation-guide/install-ubuntu.md @@ -123,7 +123,7 @@ Sometimes things go wrong! It can be difficult to troubleshoot issues if the ste ## Uninstallation -For **Ubuntu Server 18.04.x**, run the following commands: +For **Ubuntu 20.x and 18.04.x**, run the following commands: ``` /sbin/gluu-serverd disable From dd254b333c5a374f598a69c065aaf6fa83e0f22c Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Tue, 18 Aug 2020 10:49:32 -0500 Subject: [PATCH 32/43] Minor proofreading on Software Statements --- docs/source/admin-guide/openid-connect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/admin-guide/openid-connect.md b/docs/source/admin-guide/openid-connect.md index 8c4ebea4c..58fc78a08 100644 --- a/docs/source/admin-guide/openid-connect.md +++ b/docs/source/admin-guide/openid-connect.md @@ -104,7 +104,7 @@ A software statement is a JSON Web Token (JWT) that asserts metadata values abou There are following options for software statement validation: -- `softwareStatementValidationType=script` - default one (since 4.2.1), jwks and hmac secret are returned by [dynamic client registration script](https://github.com/GluuFederation/community-edition-setup/blob/version_4.2.1/static/extension/client_registration/SampleScript.py) +- `softwareStatementValidationType=script` - The default (since 4.2.1), JWKs and HMAC secret are returned by [dynamic client registration script](https://github.com/GluuFederation/community-edition-setup/blob/version_4.2.1/static/extension/client_registration/SampleScript.py) - `softwareStatementValidationType=jwks_uri`, allows to specify `jwks_uri` claim name from `software_statement`. Claim name specified by `softwareStatementValidationClaimName` configuration property - `softwareStatementValidationType=jwks`, allows to specify `jwks` claim name from `software_statement`. Claim name specified by `softwareStatementValidationClaimName` configuration property - `softwareStatementValidationType=none`, no validation From 33feb7d84f5640b2bc59fe80ce1ccea3883e825f Mon Sep 17 00:00:00 2001 From: YuriyZ Date: Wed, 19 Aug 2020 11:28:38 +0300 Subject: [PATCH 33/43] docs : added description of refreshTokenExtendLifetimeOnRotation to docs https://github.com/GluuFederation/oxAuth/issues/1449 --- docs/source/reference/JSON-oxauth-prop.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/reference/JSON-oxauth-prop.md b/docs/source/reference/JSON-oxauth-prop.md index e6c059e55..9778d8632 100644 --- a/docs/source/reference/JSON-oxauth-prop.md +++ b/docs/source/reference/JSON-oxauth-prop.md @@ -166,6 +166,7 @@ skipRefreshTokenDuringRefreshing | Boolean value specifying wh dynamicRegistrationAllowedPasswordGrantScopes | Specifies allowed scopes if client has grant_type=password. Otherwise ignored. It's also ignored when list is empty. softwareStatementValidationType | Specifies validation type for software statement during Dynamic Client Registration. `script` - validate with help of Dynamic Client Registration custom script, `jwks_uri` - validate by JWKS fetched by uri where jwks_uri is specified as claim of software statement by name defined in softwareStatementValidationClaimName. `jwks` - validate by JWKS which are taken from sofware statement claims. Not recommended. Claim name specified by softwareStatementValidationClaimName. `none` - validation of software statement is skipped. softwareStatementValidationClaimName | Specifies claim name within software statement. Used with `softwareStatementValidationType=jwks_uri` or `softwareStatementValidationType=jwks`. +refreshTokenExtendLifetimeOnRotation | Boolean value specifying whether to extend refresh token lifetime on rotation. ### Brute Force Protection From ac231802b049f8b2bd6246769430cd532408484d Mon Sep 17 00:00:00 2001 From: Jose Date: Thu, 20 Aug 2020 09:20:06 -0500 Subject: [PATCH 34/43] Update refs --- .../developer-guide/tips-cust-script-pages.md | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/source/developer-guide/tips-cust-script-pages.md b/docs/source/developer-guide/tips-cust-script-pages.md index 112ce0da5..319979785 100644 --- a/docs/source/developer-guide/tips-cust-script-pages.md +++ b/docs/source/developer-guide/tips-cust-script-pages.md @@ -23,7 +23,7 @@ While there are hundreds of classes available for reuse, the following summarize |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Allows to authenticate a user or obtain the current authenticated user|Yes (Stateless)|oxauth-server|`org.gluu.oxauth.service.AuthenticationService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/Server/src/main/java/org/gluu/oxauth/service/AuthenticationService.java)| +|Allows to authenticate a user or obtain the current authenticated user|Yes (Stateless)|oxauth-server|`org.gluu.oxauth.service.AuthenticationService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/service/AuthenticationService.java)| Relevant methods: @@ -37,7 +37,7 @@ Relevant methods: |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|This class is mainly used in facelets templates for authentication flows to proceed in the sequence of steps|Yes (RequestScoped)|oxauth-server|`org.gluu.oxauth.auth.Authenticator`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/Server/src/main/java/org/gluu/oxauth/auth/Authenticator.java)| +|This class is mainly used in facelets templates for authentication flows to proceed in the sequence of steps|Yes (RequestScoped)|oxauth-server|`org.gluu.oxauth.auth.Authenticator`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/auth/Authenticator.java)| Relevant methods: @@ -54,20 +54,20 @@ See also: [Person authentication](../admin-guide/custom-script.md#person-authent |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Allows CRUD of users in the local database|Yes (ApplicationScoped)|oxauth-common|`org.gluu.oxauth.service.UserService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/common/src/main/java/org/gluu/oxauth/service/UserService.java)| +|Allows CRUD of users in the local database|Yes (ApplicationScoped)|oxauth-common|`org.gluu.oxauth.service.UserService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/common/src/main/java/org/gluu/oxauth/service/UserService.java)| Relevant methods: |Signature|Description| |-|-| |`User addUser(User user, boolean active)`|Creates a new user based on the representation passed as parameter. `active` parameter denotes whether user status (`gluuStatus` attribute) will be `active` or `register`| -|`User addUserAttribute(String userId, String attributeName, String attributeValue)`|Adds an attribute to the user identified by `userId` in the database with the name and value passed. Returns a representation of the modified user or `null` in case of failure or if such name/attribute is already part of such user| -|`boolean addUserAttribute(User user, String attributeName, String attributeValue)`|Adds an attribute to the `user` object with the name and value passed. This method only alters the `user` argument and does not persist changes. Returns `false` if such name/attribute is already part of `user` -|`User addUserAttributeByUserInum(String userInum, String attributeName, String attributeValue)`|Adds an attribute to the user whose `inum` attribute (in the database) equals to `userInum` using the name and value passed. Returns a representation of the modified user or `null` in case of failure or if such name/attribute is already part of such user| -|`CustomAttribute getCustomAttribute(User user, String attributeName)`|Gets a representation of the attribute whose name is passed for the user in question (`user`). Returns `null` if no such attribute is populated| +|`User addUserAttribute(String userId, String attributeName, Object attributeValue)`|Adds an attribute to the user identified by `userId` in the database with the name and value passed. Returns a representation of the modified user or `null` in case of failure or if such name/attribute is already part of such user| +|`boolean addUserAttribute(User user, String attributeName, Object attributeValue)`|Adds an attribute to the `user` object with the name and value passed. This method only alters the `user` argument and does not persist changes. Returns `false` if such name/attribute is already part of `user` +|`User addUserAttributeByUserInum(String userInum, String attributeName, Object attributeValue)`|Adds an attribute to the user whose `inum` attribute (in the database) equals to `userInum` using the name and value passed. Returns a representation of the modified user or `null` in case of failure or if such name/attribute is already part of such user| +|`CustomObjectAttribute getCustomAttribute(User user, String attributeName)`|Gets a representation of the attribute whose name is passed for the user in question (`user`). Returns `null` if no such attribute is populated| |`String getDnForUser(String inum)`|Obtains the DN (distinguished name) of the user whose `inum` attribute equals to `userInum` (no check that such user may exist is actually made)| |`User getUser(String userId, String... returnAttributes)`|Retrieves a user representation for the user identified with `userId` containing only the attributes requested (`returnAttributes`). `null` is returned if no such user exists| -|`User getUserByAttribute(String attributeName, String attributeValue)`|Retrieves a user (first available) such that the attribute referenced (`attributeName`) has the value passed (`attributeValue`). `null` is returned if no such user exists| +|`User getUserByAttribute(String attributeName, Object attributeValue)`|Retrieves a user (first available) such that the attribute referenced (`attributeName`) has the value passed (`attributeValue`). `null` is returned if no such user exists| |`String getUserInum(String userId)`|Retrieves the `inum` database attribute for the user identified with `userId`.`null` is returned if no such user exists| |`User removeUserAttribute(String userId, String attributeName, String attributeValue)`|Removes `attributeValue` from the values of the attribute whose name is passed (`attributeName`) for the user identified with `userId`| |`User replaceUserAttribute(String userId, String attributeName, String oldAttributeValue, String newAttributeValue)`|Updates the user identified with `userId` by replacing the value of the attribute `attributeName` with the value passed. `null` is returned if no such user exists| @@ -77,19 +77,19 @@ Relevant methods: See also: - [User](#class-user) data object -- [CustomAttribute](#class-customattribute) data object +- [CustomObjectAttribute](#class-customattribute) data object #### Class: `User` |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|A class employed to represent a user entry in the database. Provides getters and setters to retrieve and assign value(s) for attributes|No|oxauth-common|`org.gluu.oxauth.model.common.User`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/common/src/main/java/org/gluu/oxauth/model/common/User.java)| +|A class employed to represent a user entry in the database. Provides getters and setters to retrieve and assign value(s) for attributes|No|oxauth-common|`org.gluu.oxauth.model.common.User`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/common/src/main/java/org/gluu/oxauth/model/common/User.java)| -#### Class: `CustomAttribute` +#### Class: `CustomObjectAttribute` |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|A class that models an attribute. An attribute has a name and a collection of associated values|No|oxcore-persistence-model|`org.gluu.persist.model.base.CustomAttribute`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/persistence-model/src/main/java/org/gluu/persist/model/base/CustomAttribute.java)| +|A class that models an attribute. An attribute has a name and a collection of associated values|No|oxcore-persistence-model|`org.gluu.persist.model.base.CustomObjectAttribute`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/persistence-model/src/main/java/org/gluu/persist/model/base/CustomObjectAttribute.java)| ### Category: Session Management @@ -97,7 +97,7 @@ See also: |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Mainly used to carry data between steps of authentication flows|Yes (RequestScoped)|oxauth-server|`org.gluu.oxauth.security.Identity`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/Server/src/main/java/org/gluu/oxauth/security/Identity.java)| +|Mainly used to carry data between steps of authentication flows|Yes (RequestScoped)|oxauth-server|`org.gluu.oxauth.security.Identity`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/security/Identity.java)| Relevant methods: @@ -105,7 +105,7 @@ Relevant methods: |-|-| |`Object getWorkingParameter(String name)`|Retrieves a working parameter by name previously set via `setWorkingParameter`| |`void setWorkingParameter(String name, Object value)`|Binds data to a name for further use in an authentication flow. Recommended values to store are `String`s| -|`SessionId getSessionId()`|Retrieves a reference to the associated server session object, see [SessionId](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/Server/src/main/java/org/gluu/oxauth/model/common/SessionId.java)| +|`SessionId getSessionId()`|Retrieves a reference to the associated server session object, see [SessionId](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/model/common/SessionId.java)| @@ -114,13 +114,13 @@ Relevant methods: #### Class: `HttpService` |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Provides utility methods to execute HTTP requests, manipulate responses, etc.|Yes (ApplicationScoped)|oxauth-server|`org.gluu.oxauth.service.net.HttpService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/Server/src/main/java/org/gluu/oxauth/service/net/HttpService.java)| +|Provides utility methods to execute HTTP requests, manipulate responses, etc.|Yes (ApplicationScoped)|oxauth-server|`org.gluu.oxauth.service.net.HttpService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/service/net/HttpService.java)| Relevant methods: |Signature|Description| |-|-| -|`HttpClient getHttpsClient()`|Returns an instance of `org.apache.http.client.HttpClient` (see oxcore-util class [SslDefaultHttpClient](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/oxUtil/src/main/java/org/gluu/net/SslDefaultHttpClient.java))| +|`HttpClient getHttpsClient()`|Returns an instance of `org.apache.http.client.HttpClient` (see oxcore-util class [SslDefaultHttpClient](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/oxUtil/src/main/java/org/gluu/net/SslDefaultHttpClient.java))| |`HttpServiceResponse executeGet(HttpClient httpClient, String requestUri)`|Perform a GET on the URI requested. Returns an instance of `org.gluu.oxauth.model.net.HttpServiceResponse` (a wrapper on `org.apache.http.HttpResponse`)| |`byte[] getResponseContent(HttpResponse httpResponse)`|Consumes the bytes of the associated response. Returns `null` if the response status code is not 200 (OK)| @@ -130,7 +130,7 @@ Relevant methods: |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Provides a unified means to interact with the underlying cache provider configured in the Gluu Server|Yes (ApplicationScoped)|oxcore-service|`org.gluu.service.CacheService`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/oxService/src/main/java/org/gluu/service/CacheService.java)| +|Provides a unified means to interact with the underlying cache provider configured in the Gluu Server|Yes (ApplicationScoped)|oxcore-service|`org.gluu.service.CacheService`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/oxService/src/main/java/org/gluu/service/CacheService.java)| Relevant methods: @@ -150,7 +150,7 @@ See also: [Cache Provider](https://gluu.org/docs/ce/reference/cache-provider-pro |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Provides utilities to properly build encoded URLs and make redirections. This class is often used in custom scripts|Yes (RequestScoped)|oxcore-jsf-util|`org.gluu.jsf2.service.FacesService`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/oxJsfUtil/src/main/java/org/gluu/jsf2/service/FacesService.java)| +|Provides utilities to properly build encoded URLs and make redirections. This class is often used in custom scripts|Yes (RequestScoped)|oxcore-jsf-util|`org.gluu.jsf2.service.FacesService`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/oxJsfUtil/src/main/java/org/gluu/jsf2/service/FacesService.java)| Relevant methods: @@ -163,7 +163,7 @@ Relevant methods: |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Allows manipulation of JSF context messages|No|oxcore-jsf-util|`org.gluu.jsf2.message.FacesMessages`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/oxJsfUtil/src/main/java/org/gluu/jsf2/message/FacesMessages.java)| +|Allows manipulation of JSF context messages|No|oxcore-jsf-util|`org.gluu.jsf2.message.FacesMessages`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/oxJsfUtil/src/main/java/org/gluu/jsf2/message/FacesMessages.java)| Relevant methods: @@ -182,7 +182,7 @@ See also: ["Displaying error conditions to end-users"](#example-displaying-error |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Allows to obtain references of managed beans. This is particularly useful in custom scripts|No|oxcore-service|`org.gluu.service.cdi.util.CdiUtil`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/oxService/src/main/java/org/gluu/service/cdi/util/CdiUtil.java)| +|Allows to obtain references of managed beans. This is particularly useful in custom scripts|No|oxcore-service|`org.gluu.service.cdi.util.CdiUtil`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/oxService/src/main/java/org/gluu/service/cdi/util/CdiUtil.java)| Relevant methods: @@ -204,7 +204,7 @@ authenticationService = CdiUtil.bean(AuthenticationService) |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Provides many utility methods that often arise in the manipulation of Strings|No|oxcore-util|`org.gluu.util.StringHelper`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.1.0/oxUtil/src/main/java/org/gluu/util/StringHelper.java)| +|Provides many utility methods that often arise in the manipulation of Strings|No|oxcore-util|`org.gluu.util.StringHelper`|[code](https://github.com/GluuFederation/oxCore/blob/version_4.2.0/oxUtil/src/main/java/org/gluu/util/StringHelper.java)| Relevant methods:see "References" column. @@ -212,7 +212,7 @@ Relevant methods:see "References" column. |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Allows to encrypt/decrypt strings using a 3DES cipher whose salt is found in chroot at `/etc/gluu/conf/salt`|Yes (ApplicationScoped)|oxauth-server|`org.gluu.oxauth.service.EncryptionService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.1.0/Server/src/main/java/org/gluu/oxauth/service/EncryptionService.java)| +|Allows to encrypt/decrypt strings using a 3DES cipher whose salt is found in chroot at `/etc/gluu/conf/salt`|Yes (ApplicationScoped)|oxauth-server|`org.gluu.oxauth.service.EncryptionService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/service/EncryptionService.java)| Relevant methods: From fe7624f7dd0536a66b7bab2ab18397a790121e11 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Fri, 21 Aug 2020 11:06:53 -0500 Subject: [PATCH 35/43] Fixed code block formatting --- docs/source/installation-guide/install-debian.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/installation-guide/install-debian.md b/docs/source/installation-guide/install-debian.md index 5cb9c98f5..69a2c5bf0 100644 --- a/docs/source/installation-guide/install-debian.md +++ b/docs/source/installation-guide/install-debian.md @@ -30,7 +30,7 @@ echo "deb https://repo.gluu.org/debian/ buster-stable main" > /etc/apt/sources.l ``` ``` -# curl https://repo.gluu.org/debian/gluu-apt.key | apt-key add - +curl https://repo.gluu.org/debian/gluu-apt.key | apt-key add - ``` ``` @@ -54,7 +54,7 @@ echo "deb https://repo.gluu.org/debian/ stretch-stable main" > /etc/apt/sources. ``` ``` -# curl https://repo.gluu.org/debian/gluu-apt.key | apt-key add - +curl https://repo.gluu.org/debian/gluu-apt.key | apt-key add - ``` ``` From d8349bcd7f5a6750aeb1ed808109b4739c2da2ea Mon Sep 17 00:00:00 2001 From: Jose Date: Wed, 26 Aug 2020 07:16:46 -0500 Subject: [PATCH 36/43] Conform to 4.2 CE --- docs/source/operation/replace-expired-jks-scim.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/operation/replace-expired-jks-scim.md b/docs/source/operation/replace-expired-jks-scim.md index bd75708f4..b08b04cb1 100644 --- a/docs/source/operation/replace-expired-jks-scim.md +++ b/docs/source/operation/replace-expired-jks-scim.md @@ -29,14 +29,14 @@ This will create two files: `fresher-scim-rp.jks` and `fresher-scim-rs.jks`. You Add suitable keys and export two JSON files: ``` -java -cp '/home/jetty/lib/*' org.gluu.oxauth.util.KeyGenerator \ +java -cp /opt/dist/gluu/oxauth-client-jar-with-dependencies.jar org.gluu.oxauth.util.KeyGenerator \ -keystore fresher-scim-rp.jks -keypasswd secret \ -sig_keys RS256 RS384 RS512 ES256 ES384 ES512 \ -enc_keys RS256 RS384 RS512 ES256 ES384 ES512 \ -dnname "CN=oxAuth CA Certificates" \ -expiration 365 > keys-rp.json -java -cp '/home/jetty/lib/*' org.gluu.oxauth.util.KeyGenerator \ +java -cp /opt/dist/gluu/oxauth-client-jar-with-dependencies.jar org.gluu.oxauth.util.KeyGenerator \ -keystore fresher-scim-rs.jks -keypasswd secret \ -sig_keys RS256 RS384 RS512 ES256 ES384 ES512 \ -enc_keys RS256 RS384 RS512 ES256 ES384 ES512 \ From 54b213d3d3a49e5f9d90f110a8a8c948a76a6c03 Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Wed, 26 Aug 2020 11:34:19 -0500 Subject: [PATCH 37/43] Added (commented out) 4.2.1 release notes --- docs/source/release-notes/index.md | 81 +++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/docs/source/release-notes/index.md b/docs/source/release-notes/index.md index a0ec8de5b..9e5e7874b 100644 --- a/docs/source/release-notes/index.md +++ b/docs/source/release-notes/index.md @@ -52,7 +52,86 @@ documentation and administrative guide. ## New features -## Fixes / Enhancements + + +## 4.2.0 Fixes / Enhancements + ### [GluuFederation/oxAuth](https://github.com/GluuFederation/oxAuth/issues?utf8=?&q=is%3Aissue+milestone%3A4.2+) - [#1410](https://github.com/GluuFederation/oxAuth/issues/1410) Failed to start redisProvider From 4ab6ee0e36dd6ce6a61c4204616607b0c622644a Mon Sep 17 00:00:00 2001 From: mzico Date: Thu, 27 Aug 2020 13:57:53 -0500 Subject: [PATCH 38/43] Update certificate.md --- docs/source/admin-guide/certificate.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/admin-guide/certificate.md b/docs/source/admin-guide/certificate.md index cdc7e07b0..fd109684f 100644 --- a/docs/source/admin-guide/certificate.md +++ b/docs/source/admin-guide/certificate.md @@ -87,7 +87,7 @@ The private key cannot be password protected, and the public key must be base64 X.509. !!! Note - Please backup your full `/etc/certs` directory and `cacerts` file under `/opt/jdkx.y.z/jre/lib/security/` folder before updating certificates. + Please backup your full `/etc/certs` directory and `cacerts` file under `/opt/amazon-corretto-x.x.x.x/jre/lib/security/` folder before updating certificates. Please follow these steps shown below to update the Apache SSL cert: @@ -96,9 +96,9 @@ - Import 'httpd.der' into the Java Keystore / Convertion to DER, command:
`openssl x509 -outform der -in httpd.crt -out httpd.der` - Delete the existing certificate to avoid ambiguity due to presence of 2 different certificates for the same entity after importing the new one: - `/opt/jdkx.x.x.x/jre/bin/keytool -delete -alias _httpd -keystore /opt/jdkx.x.x.x/jre/lib/security/cacerts -storepass changeit` + `/opt/jre/bin/keytool -delete -alias _httpd -keystore /opt/jre/lib/security/cacerts -storepass changeit` - Import certificate into the Java Keystore(cacerts): - `/opt/jdkx.x.x.x/jre/bin/keytool -importcert -file httpd.der -keystore /opt/jdkx.x.x.x/jre/lib/security/cacerts -alias _httpd -storepass changeit` + `/opt/jre/bin/keytool -importcert -file httpd.der -keystore /opt/jre/lib/security/cacerts -alias _httpd -storepass changeit` - [Restart](../operation/services.md#restart) `opendj`, `apache2/httpd`, `oxauth` and `identity` services. ## Install Intermediate Certificates From 51b7ff94ac47753454ee6a82a82037c7534da16f Mon Sep 17 00:00:00 2001 From: Teo Miscia Date: Mon, 31 Aug 2020 16:27:30 +0200 Subject: [PATCH 39/43] Update faq.md The script isn't anymore in the repository but available at install time. Run the command with "python" instead of "./" cause error --- docs/source/operation/faq.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/source/operation/faq.md b/docs/source/operation/faq.md index 9398a0018..ea9fe6189 100644 --- a/docs/source/operation/faq.md +++ b/docs/source/operation/faq.md @@ -33,16 +33,10 @@ The `post-setup-add-components.py` script enables you to install the Shibboleth cd /install/community-edition-setup/ ``` -1. Download the script: - - ``` - wget https://raw.githubusercontent.com/GluuFederation/community-edition-setup/master/post-setup-add-components.py - ``` - 1. Run the script with arguments either `-addshib` or `-addpassport` ``` - python post-setup-add-components.py -addshib -addpassport + ./post-setup-add-components.py -addshib -addpassport ``` ## Connect a remote debugger From ff5cecf6ff2b7c4171abe6da3c31cae247cb187f Mon Sep 17 00:00:00 2001 From: Sam Morris <36208047+shmorri@users.noreply.github.com> Date: Fri, 4 Sep 2020 14:12:16 -0500 Subject: [PATCH 40/43] Added os-changes.log to Setup logs --- docs/source/operation/logs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/operation/logs.md b/docs/source/operation/logs.md index 3bab68642..1a6781769 100644 --- a/docs/source/operation/logs.md +++ b/docs/source/operation/logs.md @@ -121,6 +121,7 @@ The available log files for Gluu Server Community Edition inside the `chroot` en |-----|-----| |_/install/community-edition-setup_/**setup.log**|Setup detail log| |_/install/community-edition-setup_/**setup_error.log**|Setup error log| +|_/install/community-edition-setup_/**os-changes.log**| Logs filesystem changes during setup | |_/opt/gluu/jetty/idp/logs_/**start.log**|Logs time-stamp when IDP starts| |_/opt/shibboleth-idp/logs_/**idp-warn.log**
_/opt/shibboleth-idp/logs_/**idp-process.log**|IDP diagonostic log [Read more..](https://wiki.shibboleth.net/confluence/display/IDP30/LoggingConfiguration)| |_/opt/shibboleth-idp/logs_/**idp-audit.log**|General audit log [Read more..](https://wiki.shibboleth.net/confluence/display/IDP30/LoggingConfiguration)| From 5d151140f40300901b5bb8d4373a64c3d4a77c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pi=C4=85tkowski?= Date: Sat, 5 Sep 2020 16:16:37 +0200 Subject: [PATCH 41/43] Fixed dead link for code reference for class UserService in Developer Guide > Coding custom scripts and pages --- docs/source/developer-guide/tips-cust-script-pages.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/developer-guide/tips-cust-script-pages.md b/docs/source/developer-guide/tips-cust-script-pages.md index 319979785..3ed7b0199 100644 --- a/docs/source/developer-guide/tips-cust-script-pages.md +++ b/docs/source/developer-guide/tips-cust-script-pages.md @@ -10,7 +10,7 @@ Specifically, custom pages can use EL expressions to get/bind values or call met In addition to that, there are the usual implicit JSP/JSF [objects](http://incepttechnologies.blogspot.com/p/jsf-implicit-objects.html) plus the `i18n` labels map (`msgs`) used for [localization](../operation/custom-design/#subdirectories) purposes. -In the case of custom scripts, any class in oxAuth's classpath can be used as well as the standard Java 8 classes. +In the case of custom scripts, any class in oxAuth's classpath can be used as well as the standard Java 8 classes. !!! Note Find the javadocs here: [oxAuth](https://ox.gluu.org/javadocs/oxauth/) (choose the version matching your Gluu Server version). @@ -54,7 +54,7 @@ See also: [Person authentication](../admin-guide/custom-script.md#person-authent |Description|Managed bean|Project|Full name|References| |-|-|-|-|-| -|Allows CRUD of users in the local database|Yes (ApplicationScoped)|oxauth-common|`org.gluu.oxauth.service.UserService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/common/src/main/java/org/gluu/oxauth/service/UserService.java)| +|Allows CRUD of users in the local database|Yes (ApplicationScoped)|oxauth-common|`org.gluu.oxauth.service.UserService`|[code](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/common/src/main/java/org/gluu/oxauth/service/common/UserService.java)| Relevant methods: @@ -107,7 +107,7 @@ Relevant methods: |`void setWorkingParameter(String name, Object value)`|Binds data to a name for further use in an authentication flow. Recommended values to store are `String`s| |`SessionId getSessionId()`|Retrieves a reference to the associated server session object, see [SessionId](https://github.com/GluuFederation/oxAuth/blob/version_4.2.0/Server/src/main/java/org/gluu/oxauth/model/common/SessionId.java)| - + ### Category: Networking @@ -226,13 +226,13 @@ Relevant methods: When coding certain flows, it is important to be able to display errors in the xhtml templates based on conditions that occur as the associated custom script runs. For this purposes, the `FacesMessage` bean can be used. Here is an example that adds an error message in the UI: -``` +``` from org.gluu.jsf2.message import FacesMessages from org.gluu.service.cdi.util import CdiUtil from javax.faces.application import FacesMessage ... -facesMessages = CdiUtil.bean(FacesMessages) +facesMessages = CdiUtil.bean(FacesMessages) facesMessages.setKeepMessages() facesMessages.add(FacesMessage.SEVERITY_ERROR, "Please enter a valid username") ``` From 0d7b9cf1f058914c1ae8fbc24b30653538553ea7 Mon Sep 17 00:00:00 2001 From: Jose Date: Wed, 9 Sep 2020 18:55:22 -0500 Subject: [PATCH 42/43] Adjust per https://github.com/GluuFederation/scim/issues/6 --- docs/source/user-management/scim2.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/user-management/scim2.md b/docs/source/user-management/scim2.md index 1b19ef670..74d860737 100644 --- a/docs/source/user-management/scim2.md +++ b/docs/source/user-management/scim2.md @@ -638,6 +638,10 @@ public class TestScimClient { The first line of method `simpleSearch` is getting an object that conforms to the `ClientSideService` interface. This interface is a "mashup" of several interfaces and gives access to a rich number of methods that will allow you to do all CRUD you may need. Other methods in `ScimClientFactory` class allow to supply a specific interface class and so get an object that adheres to that interface. +!!! Note + The variant of `getTestClient` used in the above example will attempt to register a client for you. For this purpose ensure your Gluu Server has dynamic registration of clients enabled. To avoid creating a new client everytime this method is called, or when dynamic registration is disabled, you can use `getTestClient(String, String, String, String)` where you can pass the ID and secret of an existing client for the third and fourth parameters respectively. + + Create a main method for class `TestScimClient` and call `simpleSearch` from there. When running, you will see the output of retrieving one user (admin) and see his `displayName` on the screen or wherever you have configured your logs to be written to. Here we are using `log4j2` as framework, but you may use the any other logging framework. Note the usage of `close` in the last statement. While it's not a requirement, it is recommended to call `close` whenever you know there will not be any other request associated to the client you obtained. From 482fb8394398c40a221496ad8e7ad176ee8f0043 Mon Sep 17 00:00:00 2001 From: maduvena Date: Mon, 14 Sep 2020 16:09:14 +0530 Subject: [PATCH 43/43] Update BioID.md --- docs/source/authn-guide/BioID.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/source/authn-guide/BioID.md b/docs/source/authn-guide/BioID.md index c4a5bfdf7..b774de44c 100644 --- a/docs/source/authn-guide/BioID.md +++ b/docs/source/authn-guide/BioID.md @@ -6,7 +6,7 @@ In order to use this authentication mechanism your organization will need to reg ## Prerequisites - A Gluu Server ([installation instructions](../installation-guide/index.md)); -- [BioID interception script](https://github.com/GluuFederation/oxAuth/blob/master/Server/integrations/bioID/BioIDExternalAuthenticator.py) (included in the default Gluu Server distribution); +- [BioID interception script](https://github.com/GluuFederation/oxAuth/blob/master/Server/integrations/bioid/BioIDExternalAuthenticator.py) (included in the default Gluu Server distribution); - An account with [BioID](https://bwsportal.bioid.com/register). ## Properties @@ -70,3 +70,10 @@ Now applications can request BioID's biometric authentication. To make BioID bio You can change one or both fields to BioID authentication as you see fit. If you want BioID to be the default authentication mechanism for access to oxTrust and all other applications that leverage your Gluu Server, change both fields to bioid. ![BioID](../img/admin-guide/multi-factor/bioid.png) + +## Testing the script +If you use the default BioID interception script, a user's facial and periocular traits are enrolled during the first authentication attempt. Subsequently, the user's facial and periocular traits are verified. + +1. Enrolling Biometric traits + +2. Validating a user based on their biometric traits: