You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Application password support, some other minor fixes
For rm only, removed sending of header net.jazz.jfs.owning-context - doesn't seem to be needed for 7.x
More prep for type system quality checker, but no user code yet
Copy file name to clipboardExpand all lines: README.md
+13-4Lines changed: 13 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,9 @@
13
13
What's New?
14
14
===========
15
15
16
+
16-Dec-2024
17
+
* Authentication using Application passwords now works - for OIDC and SAML-backed authentication providers (OP) - but note below how this has been implemented to perhaps work around the fact that application passwords only work with a single app, os if you want to talk to more than one app, e.g. rm and gc, you have to acquire and specify a password per app. Not extensively tested, please let me know if it works/doesn't work for you!.
18
+
16
19
02-Dec-2024
17
20
* Added examples dncompare, validate, trsreader (this is VERY UNFINISHED!) - see the code in the examples folder
18
21
* Fixed oslcquery working from a specific config using -F
@@ -36,7 +39,7 @@ What's New?
36
39
Introduction
37
40
============
38
41
39
-
The aim of this code is to provide a Python client for the IBM Enterprise Lifecycle Management (ELM) applications.
42
+
The aim of this code is to provide a Python client for the IBM Enterprise Lifecycle Management (ELM) applications, providing a demonstrator of using the APIs.
40
43
41
44
IMPORTANT NOTES:
42
45
* This code is not developed, delivered or supported in any way as part of the IBM ELM applications
@@ -56,7 +59,7 @@ Installation
56
59
57
60
Either method of install described below installs the elmclient package and puts example commands (such as `oslcquery` into your path so a) they can be run simply by typing the command, e.g. `oslcquery` and b) as you edit the source code these commands automatically use the latest code.
58
61
59
-
Requirements: Python 3.11/3.10/3.9 - NOTE I'm developing using Python 3.11.4 and compatibility with older versions is NOT checked.
62
+
Requirements: Python 3.11/3.10/3.9 - NOTE I'm developing using Python 3.11.4 and compatibility with older versions is NOT checked. However I'm aiming to work back to 3.9 because that's embedded in e.g. RHEL 9.4.
60
63
61
64
Overview
62
65
--------
@@ -75,7 +78,7 @@ Step 2a - Quickest and easiest to just use elmclient
75
78
76
79
This method is also easiest to update with new versions of elmclient.
77
80
78
-
at a command prompt:
81
+
At a command prompt:
79
82
* for Windows type `pip install elmclient`
80
83
* For *nix use `pip3 install elmclient`
81
84
@@ -122,13 +125,19 @@ Authentication (in httpops.py)
122
125
The auth code works with:
123
126
* form authentication using Liberty in local user registry
124
127
* LDAP (using JTS setup for LDAP) and OIDC (Jazz Authorisation Server, which might be configured for LDAP)
128
+
* Application passwords backed by SAML or OIDC OP
125
129
126
130
Other authentication methods haven't been tested.
127
131
128
132
You'll have to provide a username and password; that username will determine the permissions to read/write data on your server, just as they would through a browser UI.
129
133
130
134
The examples `oslcquery` and `reqif_io` layer authentication enhancements on top of this to allow saving obfuscated credentials to a file so you don't have to provide these on the commandline every time. See the code for these examples.
131
135
136
+
As of 16-Dec you can now use application passwords. These authenticate to a single app, but it's easy to imagine needed to talk to e.g. GC (on/gc) and RM (on /rm), so the support is implemented by encoding one or more application passwords in the "password".
137
+
138
+
The password you use when using application passwords has a prefix ap: and then a comma-seperated list of one or more application passwords (specifying the contextroot:password) and then finally a non-application password. So for example if you want to use an application password AP1 with context root rm, your password would look like ap:rm:AP1. If you also want to talk to GC on /gc and to anything else using your non-ap password then use ap:rm:AP1,gc:AP2,mypassword
139
+
140
+
This hasn't been extensively tested. Please let me know in the Issues if this works for you or has problems.
132
141
133
142
Handling different context roots
134
143
================================
@@ -137,7 +146,7 @@ It's possible to install the ELM applications to run on non-standard context roo
137
146
138
147
For example, if your DN is on /rm then just specify `rm`. Or, if it's on /rm23 then specify `rm:rm23`.
139
148
140
-
If more than one application is needed then use a comma separate list (without spaces). The main application is specified first, but if jts is also on /jts1 then your APPSTRING could be `rm:rm1,jts:jts1`.
149
+
If more than one application is needed then use a comma separate list (without spaces). The main application is specified first, and if jts is also needed on /jts1 then your APPSTRING could be `rm:rm1,jts:jts1`.
0 commit comments