GPSTools/Options/README 2023/03/20 ------------------------------------------------------------ - Modified to use the new Google Identity Services library for authentication in HTML/JavaScript. This replaces the older API being deprecated and longer supported after March 31, 2023. - Modified to generate SPOK format keys using the OKWS Staging endpoint. - Credentials and endpoints for OKWS are stored in the file okws-spok-staging.json which is committed to CVS in encrypted form as okws-spok-staging.json.enc. For convenience, the script "decrypt" is provided and may be used as follows to decrypt the OKWS credentials file. ./decrypt okws-spok-staging.json.enc okws-spok-staging.json 2023/09/18 ------------------------------------------------------------ Added support to generate SPOK Production keys when the server is run on ports 8085 or 8097. Note that the Production server may *not* be used to generate Production Arrowhead Subscription keys.k Updated the structure of auth.json with security fields as follows. "auths" defines authorization levels in increasing levels, so the "spok" authorization grants the user "legacy" and "sub" authorizations, too. "auths": [ "none", "legacy", "sub", "spok", "spok+sn", "super" ], "none" - No access. For example, all users authorization "none" for the website(s) on port 8095 or 8097 by default and must be granted access individually in the users.json file. "legacy" - Enables Legacy option keys. "sub" - Enables Arrowhead Subscription keys. "spok" - Enables SPOK keys for general options. "spok+sn" - Adds the ability to set serial numbers using SPOK keys. "super" - [Not supported. Would enable use of all hidden or obsolete options on the Production website.] "roles" provides a way to grant default sets of authorizations for a given group in the "groups" structure. "roles": { "eng": { "stg_auth": "spok+sn", "prd_auth": "none" }, "mktg-qa": { "stg_auth": "spok" , "prd_auth": "none" } }, "models" maps a receiver model name to the numeric model number. "models": { "MPS566": 177, "R750": 188, "R750Mon": 178, "9410": 179 }, "model_sets" defines lists of model names that may be referenced in the "types" field in either "groups" or a user entry in users.json. This currently only modifies the behavior of the Production website. If "types" is [], the SPOK key may be used on any model receiver. If "types" lists one or more model_sets entries, the key may only be used on receivers with any of the defined models but no others. "model_sets": { "cec": ["MPS566", "R750", "R750Mon", "9410" ], "ctct": ["MPS566", "R750", "R750Mon", "9410" ] }, "groups" defines the default "role" and "types" value based on the "group" field in users.json. "groups": { "Stinger": { "role": "eng" , "types": [] }, "App": { "role": "eng" , "types": [] }, "Comms": { "role": "eng" , "types": [] }, "Feni": { "role": "eng" , "types": [] }, "Driver": { "role": "eng" , "types": [] }, "HW": { "role": "eng" , "types": [] }, "QA": { "role": "eng" , "types": [] }, "PCApp": { "role": "eng" , "types": [] }, "CEC": { "role": "mktg-qa", "types": ["cec", "ctct"] }, "CTCT": { "role": "mktg-qa", "types": ["cec", "ctct"] } } The users.json file remains unchanged with the default value of each user's authority defined by the "role" field in "groups". The "types" field for that user's group defined in "groups" has no effect by default, because the default authorization for use of the Production website is "none". However, any or all of "stg_auth", "prd_auth", and "types" may be specified in an entry in users.json to add Production website authorization, to change the user's authorization level for the Staging site, or to override the default value of "types" associated with the user's group. The following example entry performs all three of these changes. {"email":"brian_frohring@trimble.com","group":"App", "stg_auth":"spok", "prd_auth":"spok", "types":["cec"] }, 2025/11/08 ------------------------------------------------------------ FENI-2171 Migrate Higgs from CVS to git Updated sources to match active CVS runtime code. README okws.py - Moved credentials paths to the secrets/ directory. passApp.py - Library Markup is now imported from markupsafe. - Added addAllowOrigins() after change in Google Identity requiring that the client browser FQDNs be authorized. This currently allows access from any location. - Updated app.run() call now uses the higgs server certificate/key from the secrets/ directory. static/options.js - Various updates since last git commit: - Added bit options 101-105 NavIC, Enable USB Mirroring, Disable Legacy Keys, Force Accept Legacy keys, Engineering Test, RED commissioned. - Added FW downgrade limit control when setting S/N with a SPOK key. - New Rx types: Stella, Artemis, Clark for Forensics. - Added Smart Target controls for the Roubaix/DA2R product. templates/menu.html - Disabled auto_prompt pop-up when connecting. Login is only via the button now. users.json Added various new users. 2025/11/08 ------------------------------------------------------------ FENI-2171 Migrate Higgs from CVS to git README: Added git logs. users.json: Updated Applanix email addresses to *@trimble.com versions.