I am attempting to create a web app (ruby on rails) that requires access to a user's Salesforce environment to perform some REST api calls (SOQL queries) and in doing so I've implemented the web server flow. On a dev org I have access to I have created a connected app and am able to successfully connect to that connected app, authorize against it with a user from that environment and then with the returned authorization code I'm able request an access token and make REST calls. However my goal is to allow a salesforce user to authorize access to their org without having a connected app installed in their environment? How is this done?
Connected Apps are "global metadata". They don't need to be present in the target org, just in a single, persistent org that you control.
If you maintain that Connected App in your own org, you can use the Connected App as your authorization rubric in any target org using the Web Server flow, and the end user will be asked to authorize your app the same way you experience in your current testing.