tim Rowledge uploaded a new version of WebClient-Help to project The Trunk: http://source.squeak.org/trunk/WebClient-Help-tpr.13.mcz
==================== Summary ====================
Name: WebClient-Help-tpr.13 Author: tpr Time: 13 April 2023, 5:54:32.79161 pm UUID: cbfe4541-f368-4d74-b157-d0b75d121a52 Ancestors: WebClient-Help-tpr.12
The WebServer/Client implementation of digest authentication via MD5 is no longer pathetic, so remove the complaint from the Help page
=============== Diff against WebClient-Help-tpr.12 ===============
Item was changed: ----- Method: WebServerHelp class>>authentication (in category 'pages') ----- authentication "This method was automatically generated. Edit it using:" "WebServerHelp edit: #authentication" <generated> ^(HelpTopic title: 'Authentication' contents: 'To add authentication you can use web server as follows:
WebServer default addService: ''/smalltalk'' action: [:req| | action | WebServer default authenticate: req realm: ''squeak'' methods: #(digest basic) do: [action := (req fields at: ''get'' ifAbsent:['''']) asSymbol. req send200Response: (Smalltalk perform: action) asString]].
The above supports both digest as well as basic authentication for accessing the /smalltalk service. Let''s add a user so that we can access it:
WebServer default passwordAt: ''squeak'' realm: ''squeak'' put: ''squeak''.
The server does NOT store plain text passwords, but rather hashes. To be precise, it stores the ha1 term used in digest authentication which is the same hash produced by htdigest. We can now access the /smalltalk service by providing user name ''squeak'' and password ''squeak''.
(WebClient httpGet:''http://localhost:8080/smalltalk?get=platformName'') content.
- Unfortunately, digest authentication can be slow since our MD5 implementation is rather pathetic. !! + ]style[(69 7 1 11 1 12 1 10 2 3 1 1 1 1 6 1 1 13 7 1 13 1 3 1 6 1 8 1 8 3 6 1 5 2 7 1 6 1 2 1 1 3 1 6 1 3 1 5 1 9 1 2 1 1 1 8 5 3 1 16 1 1 10 8 1 6 1 1 8 1 160 7 1 11 1 8 1 6 1 8 1 4 1 8 292 8 50 2 7 3),c000000125,,c000000125,,c125000125,,c000000125,,c000000125,cgray;,,cgray;,,cgray;,,cgray;,,c000000125,,c000000125,,c000000125,,c000000125,,c125000125,,c000000125,,c000000125,,c000000125,,c000000125,c000125000,cgray;,,b,,c125000125,c000000125,,c000000125,,c000000125,,c125000125,,c000000125,c125000000,c125000125,c125000000,c125000125,,c000000125,,c000000125,,c000000125,,c125000125,,c000000125,,cgray;,c125000125,,c000000125,c000125000,,c000000125,,c000000125,,c125000125,,c000000125,,c125000125,,c000000125,,c125000125,,c000000125,c125000125,,c000000125,!!' readStream nextChunkText) - ]style[(69 7 1 11 1 12 1 10 2 3 1 1 1 1 6 1 1 13 7 1 13 1 3 1 6 1 8 1 8 3 6 1 5 2 7 1 6 1 2 1 1 3 1 6 1 3 1 5 1 9 1 2 1 1 1 8 5 3 1 16 1 1 10 8 1 6 1 1 8 1 160 7 1 11 1 8 1 6 1 8 1 4 1 8 292 8 50 2 7 102),c000000126,,c000000126,,c126000126,,c000000126,,c000000126,cgray;,,cgray;,,cgray;,,cgray;,,c000000126,,c000000126,,c000000126,,c000000126,,c126000126,,c000000126,,c000000126,,c000000126,,c000000126,c000126000,cgray;,,b,,c126000126,c000000126,,c000000126,,c000000126,,c126000126,,c000000126,c126000000,c126000126,c126000000,c126000126,,c000000126,,c000000126,,c000000126,,c126000126,,c000000126,,cgray;,c126000126,,c000000126,c000126000,,c000000126,,c000000126,,c126000126,,c000000126,,c126000126,,c000000126,,c126000126,,c000000126,c126000126,,c000000126,!!' readStream nextChunkText) key: #authentication; shouldStyle: false; yourself!
squeak-dev@lists.squeakfoundation.org