### Example SAML Configuration Source: https://netpicker.io/knowledge-base/saml-authentication-configuration-guide This JSON configuration object is used to set up SAML authentication. It includes settings for the Service Provider (SP), Identity Provider (IdP), and security parameters. Ensure all URLs and certificates are correctly replaced with your specific details. ```json { "strict": true, "debug": true, "sp": { "entityId": "https://qbombuht-dev.netpicker.io/api/v1/auth/saml/metadata", "assertionConsumerService": { "url": "https://qbombuht-dev.netpicker.io/api/v1/auth/saml/callback", "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" }, "singleLogoutService": { "url": "https://qbombuht-dev.netpicker.io/api/v1/auth/saml/logout", "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" }, "NameIDFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "x509cert": "", "privateKey": "" }, "idp": { "entityId": "https://dev.netpicker.io/idp/realms/master", "x509cert": "MIICmzCCAYMCBgGb9KtB8jANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZtYXN0ZXIwHhcNMjYwMTI1MTAxODQyWhcNMzYwMTI1MTAyMDIyWjARMQ8wDQYDVQQDDAZtYXN0ZXIwggEi", "singleSignOnService": { "url": "https://dev.netpicker.io/idp/realms/master/protocol/saml", "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" }, "singleLogoutService": { "url": "https://dev.netpicker.io/idp/realms/master/protocol/saml", "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" } }, "security": { "allowRepeatAttributeName": true, "authnRequestsSigned": false, "signatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", "digestAlgorithm": "http://www.w3.org/2001/04/xmlenc#sha256", "requestedAuthnContext": false, "wantAttributeStatement": false }, "tenant": "default", "scopes": { "attr": "Role", "map": { "access:api": "access:api", "admin": "admin" } } } ``` -------------------------------- ### Declare Job Parameter as Secret Source: https://netpicker.io/knowledge-base/using-secret-variables-in-netpicker-jobs Declare a job parameter as `Secret` instead of `str` to have it masked in the UI and passed securely. This example shows creating a user with a username and a secret password. ```python from comfy import job, Secret @job(platform=['cisco_ios']) def create_user(device, username: str, password: Secret): device.cli.send_config_set([ f"username {username} privilege 15 secret {password}" ]) return f"User {username} created" ``` -------------------------------- ### Access Raw Secret Value Source: https://netpicker.io/knowledge-base/using-secret-variables-in-netpicker-jobs If you need the raw string value of a `Secret` object, for example, to build a custom payload or pass it to an external API, call the `.get_value()` method. ```python real_value = password.get_value() # returns a plain str print(real_value) # 1234 ``` -------------------------------- ### Using Secret Variables in Netpicker Jobs Source: https://netpicker.io/knowledge-base Demonstrates how to use the 'Secret' type for sensitive job parameters like passwords or tokens. This ensures they are masked in the UI and logs. Requires importing 'Secret' from 'comfy.job'. ```python from comfy import job job.Secret("password") ``` -------------------------------- ### Reset Netpicker Local User Password Source: https://netpicker.io/knowledge-base/resetting-a-local-user-password Execute this command via SSH on the Netpicker server to reset a local user's password. The new password can be used immediately after successful execution. ```bash docker exec -ti api reset-password ``` -------------------------------- ### Import Secret Type Source: https://netpicker.io/knowledge-base/using-secret-variables-in-netpicker-jobs Import the necessary `job` and `Secret` types from the `comfy` library. ```python from comfy import job, Secret ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.