-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Research OAuth flow failure paths #109919
Comments
Pinging @elastic/kibana-alerting-services (Team:Alerting Services) |
[Alerting] OAuth error paths for connectorsMany connectors today support some sort of basic authentication mechanism. However, many 3rd party services also support OAuth, and in some cases are moving to ONLY support OAuth. So, we're looking at how to support OAuth within the alerting framework's connector system. First up: supporting OAuth for usage with Microsoft Exchange, which is dropping traditional SMTP auth and only supporting OAuth. For this research, we'll go more general though. And this research specifically concerns the error paths we anticipate customers could encounter, in hopes of making the errors that are fixable by customers, fixable by customers. The oauth.com site contains pretty good background material on OAuth, and includes a page on Possible Errors, which includes the following:
errors with login promptsAny solution requiring browser popup logins will have a common set of errors to deal with:
Microsoft's generic authorization page includes some diagnostic information when an error occurs; we should do something similar for our redirect page: dealing with errors occurring over time
Presumably any OAuth issues would be flagged like any other alerting error, and show up in details and the alert list. Remediation is discussed below, and would presumably be a relatively normal "edit the connector" flow, probably having to do the initial browser authorization if that's part of the flow. diagnostics
remediationsWe will need to have a flow which will go through the entire authorization flow, for cases where the existing token is invalidated or expired. Presumably this would allow a user to change fields like If we know of permanent errors (not sure how we'd determine that), it's possible we may want to "know" that state in the connector, which would presumably be an action config variable, which would be awkward. import / export / migration / shareabilityI don't think we'll have any special import/export/migration issues for this. OAuth will require a secret for the client secret, and presumably the access and refresh tokens will also be stored as secrets, so should be the same as other secrets in other connectors. Thinking about future shareability amongst Kibana spaces, I don't think we have any issue with that either. see alsoSome existing places using OAuth in elastic, we can look at for their design / error handling. https://www.elastic.co/guide/en/workplace-search/current/workplace-search-onedrive-connector.html |
Adding as a comment to our generic OAuth issue #79372 and closing as complete |
We should research what user experience will be like for each OAuth authorization code flow step when a failure is detected. How do we plan on supporting or helping with failures at each step? It would be great to cover and check the basic use cases when the entry params is wrong (like Client ID or Secret), when the access/refresh token is expired, or redirect URL is missing in the configured app, when the send email credentials configuration is wrong (pointed to another permissions access), SPA config instead of Web API, etc. It might be good to check all the possible missing/wrong MS App settings.
The text was updated successfully, but these errors were encountered: