We are evaluating using pritunl as our vpn for customers to access devices behind our firewall. I have the enterprise trial running right now, with one server, org, and user. I have it set up, that on connection a plugin creates firewall rules for the virtual IP only to a specific list of devices retrieved from our API for that user. This seems to work great.
Now, the last challenge I have to solve is authentication. What I would like, is to have a shared .ovpn file we can distribute to each customer that is exactly the same. I want to add auth-user-pass to the .ovpn file, and remove the <cert>
and <key>
from the .ovpn file. Then, when the user connects in the client they input a username and password, which i can intercept in the user_connect
plugin and do an API call to check the username and password. If the user doesn’t exist in pritunl, i’d like to create it. If that isn’t possible, I can write a service that uses the api to sync users from our database to pritunl.
However, removing and from the profile causes the error OpenSSL: error:0A0000C7:SSL routines::peer did not return a certificate:
Am I approaching this the wrong way? How else can I acheive “Plugins can be created to support custom authentication systems and custom access control systems” from the home page?