Closed realslacker closed 4 years ago
Hey @realslacker,
I'm wondering if you would be open to trying out our next version. We are improving the authentication and authorization experience by bringing UD into the UA management experience and unifying the platforms. It'll be a single service now with a slightly different configuration experience but all your UA scripts and schedules will remain the same.
It's still just an MSI install and I can provide some documentation on how to configure OIDC. I'm not specifically using Okta at the moment but I'll work on getting a test environment up and running to help troubleshoot what's going on here.
Sure, I would be happy to play around with it
Great. I will get a kit together and should have something for you to play with tomorrow.
We ran into an issue in QA that prevented a solid release from going out today. I'll keep you posted.
You can download the latest version of our MSI here: https://universalautomation.blob.core.windows.net/universal/PowerShellUniversal.1.0.0.msi
Please uninstall the current UA instance that you have running using the MSI installer. Then install using this MSI. You will have only one service (PowerShell Universal).
To configure OIDC, you will need to create an appsettings.json
file in C:\ProgramData\Universal.
Include the following information:
{
"Authentication" : {
"OIDC": {
"Enabled": "true",
"CallbackPath": "/auth/signin-oidc",
"ClientID": "<clientID>",
"ClientSecret": "<clientSecret>",
"Resource": "",
"Authority": "<authority>",
"ResponseType": "id_token token",
"SaveTokens": "true"
}
}
}
After changing these settings, you'll need to restart the service.
From there, you should be able to login to localhost:5000
and it should automatically redirect to your Okta login page. After logging in, you should be redirected back to localhost:5000
. If you click the Settings\Identites tab, you'll be able to see the Identity that you logged in as.
I need to run this over HTTPS for Okta to work correctly, how do I specify the certificate in the appsettings.json?
To configure HTTPS, in the appsettings.json, you can do something like this:
{
"Kestrel": {
"Endpoints": {
"HTTP": { "Url": "http://*:5000" },
"HTTPS": {
"Url": "https://*:5463",
"Certificate": {
"Path": "testCert.pfx",
"Password": "testPassword"
}
}
}
}
For a full list of examples, see here: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1#listenoptionsusehttps
It should go in the appsettings.json file in the program data folder
This is really frustrating. I've configured my certificate as follows:
{
"Kestrel": {
"Endpoints": {
"HTTP": { "Url": "http://*:80" },
"HTTPS": {
"Url": "https://*:443",
"Certificate": {
"Subject": "redacted",
"Store": "My",
"Location": "LocalMachine"
}
}
}
}
}
After which I get an SSL error "ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY".
Also, in all of these upgrades and downgrades it seems Universal is no longer recognizing my UA license, my key is not showing on my account, and when I try to use the key in my email it says "Failed to add license."
I only have one job on here right now since I have to keep rebuilding this installation. It almost doesn't seem worth the effort.
We've added documentation for OpenID Connect: https://docs.ironmansoftware.com/config/security/openid-connect
And web server configuration: https://docs.ironmansoftware.com/config/hosting#web-server-configuration
I know you've stopped using UA but wanted to close this issue with our resolutions.
Describe the Issue
Configured OpenID-Connect for Okta, however the "Sign-In with OpenID Connect" button doesn't appear to do anything. Nothing appears in the log regarding login at all.
To Reproduce
Steps to reproduce the behavior: (Example)
Expected behavior
Login with Okta is initiated.
Screenshots
Script Sample
universalautomation.ps1
universalautomation.dashboard.ps1
Okta Tenant OIDC Config
Version Information
Additional context
It would be really nice if Okta was one of the supported Oauth2
providers since the config is pretty much the same in all of the tenants.