How to obtain API token as external service


we want to implement an integration for GitLab. We already wrote one for GitHub. There we have something called “GitHub App” which allows the user to enable our service for a specific repository. Specifically this allows us to clone the users repository and give him certain analysis insights.

My understanding is that GitLab does not have an equivalent concept so my question is what the recommended way for this scenario is. Is it possible by implementing a “Project Service”? (