serveur d'authentification
Les utilisateurs nationaux peuvent accéder à gitee et synchroniser le code avec github.
Introduction
oauthserver est un microservice Oauth2 Server indépendant complet basé sur Spring Boot Oauth2. Le but du projet est qu'il vous suffit de créer des tables de données pertinentes et de modifier les informations de connexion à la base de données, et vous pouvez obtenir un microservice Oauth2 Server.
Pour faciliter le développement, le projet est divisé en 6 modules, eureka-server, oauth, common, api, web, old-task :
- eureka-server est le module de service eureka ;
- oauth est le module Authentication Server, utilisé pour autoriser d'autres modules (principalement des modules qui fournissent des interfaces API).
- Common est un module d'outil public, comprenant les couches Service et Modèle. Actuellement, l'API, le Web et les anciennes tâches dépendent tous de ce module.
- Le module API est un service qui fournit une interface API ;
- Le Web est un backend de gestion basé sur Element UI ;
- old-task est un module de tâches planifiées distribuées Quartz qui prend en charge les clusters.
Bases de données relationnelles prises en charge :
- MySQL
- Oracle
- PostgreSQL
- Microsoft SQL Server
Présentation des fonctionnalités
API
- Le service de jeton Oauth prend en charge 3 méthodes de connexion : numéro de téléphone mobile + code de vérification, numéro de téléphone mobile + mot de passe, e-mail + mot de passe (pour le processus d'utilisation, veuillez vous référer à l'exemple d'appel de l'interface oauth. Si vous devez utiliser le service de code de vérification SMS, veuillez vous rendre sur le service SMS Alibaba et Cloud News. Achetez le service de code de vérification SMS et configurez les paramètres pertinents dans application.properties);
- Le service de code de vérification SMS prend en charge trois types : Alibaba, le service SMS Tencent Cloud et le service SMS Yunzhixun ;
- Paiement WeChat et Alipay ;
- Stockage cloud Qiniu ;
- Générateur de codes.
commun
Module d'outils publics
la toile
- Page d'accueil
- En savoir plus sur OauthServer
- Gestion des actualités
- Gestion des commandes
- Gestion du système
- tâches planifiées
- Gestion des menus
- Gestion des utilisateurs
- Gestion des autorisations
- dictionnaire de données
- outils système
- génération de code
- fanfaronnade
- druide
- Gestion des journaux
Journal des modifications
2.0.20190909-alpha
- Supprimez le code d'autorisation oauth du module API, ne laissant que le code de la couche contrôleur ;
- Le code d'autorisation oauth supprimé du module api devient un module oauth indépendant, qui sert de serveur d'autorisation et fournit des services d'autorisation au module api.
2.0.20190904-alpha
- Ajout du module eureka-server ;
- Supprimez certaines dépendances en double ;
- Mettez à jour le fichier Docker.
2.0.20190805-alpha
- Prend en charge SQL Server.
2.0.20190802-alpha
- Le générateur de code prend en charge le serveur SQL ;
- L'implémentation générale du service réduit une grande partie du code serviceImpl redondant.
Pour plus de journaux de mise à jour historiques, consultez CHANGE_LOG.md
Processus d'utilisation
Préparer
Pour IntelliJ IDEA ou Eclipse, veuillez d'abord installer le plug-in lombok.
- Pour l'installation d'IntelliJ IDEA, veuillez vous référer à https://projectlombok.org/setup/intellij ;
- Pour l'installation d'Eclipse, veuillez vous référer à https://projectlombok.org/setup/eclipse.
1. Installer le pot
Certains pots auto-construits ne sont pas disponibles dans l'entrepôt central et doivent être installés localement à l'aide de mvn install
. Exécutez l'installation install.bat
dans le dossier "jars qui doivent être installés".
2. Créer un tableau
Remarque : Les bases de données ignorent la casse. Tous les fichiers SQL se trouvent dans le répertoire "SQL Initialization".
- MySQL
Veuillez exécuter schema-mysql.sql
pour terminer la création de la table de données et l'importation des données de test. Après cela, exécutez la mise à jour incrémentielle correspondante SQL. - Oracle
Veuillez exécuter schema-oracle.sql
pour terminer la création de la table de données et l'importation des données de test. Après cela, exécutez la mise à jour incrémentielle correspondante SQL. - PostgreSQL
Veuillez exécuter schema-postgresql.sql
pour terminer la création de la table de données et l'importation des données de test. Après cela, exécutez la mise à jour incrémentielle correspondante SQL. - Serveur SQL
Veuillez exécuter schema-sqlserver.sql
pour terminer la création de la table de données et l'importation des données de test. Après cela, exécutez la mise à jour incrémentielle correspondante SQL.
3. Modifier les informations de connexion à la base de données
- MySQL
Les informations de connexion se trouvent dans application-mysql.yml
. Après avoir modifié les informations de connexion à la base de données, vous devez également définir spring.profiles.active=mysql
dans application-common.yml
. - Oracle
Les informations de connexion se trouvent dans application-oracle.yml
. Après avoir modifié les informations de connexion à la base de données, vous devez également définir spring.profiles.active=oracle
dans application-common.yml
. - PostgreSQL
Les informations de connexion se trouvent dans application-pg.yml
. Après avoir modifié les informations de connexion à la base de données, vous devez également définir spring.profiles.active=pg
dans application-common.yml
. - Microsoft SQL Server
Les informations de connexion se trouvent dans application-sqlserver.yml
. Après avoir modifié les informations de connexion à la base de données, vous devez également définir spring.profiles.active=sqlserver
dans application-common.yml
.
4. Courez
Démarrez d'abord eureka-server, puis démarrez le module d'autorisation oauth. Il n'y a pas d'ordre de démarrage fixe pour les autres modules. Mais si vous devez utiliser la fonction de tâche planifiée du module Web, vous devez d'abord démarrer l'ancien module de tâche.
test d'API
exemple d'appel d'interface oauth
Page de gestion
Compte test : numéro de téléphone portable 18800000000, mot de passe 1234567890c
Partager et communiquer
Si vous avez des questions ou des problèmes lors de l'utilisation, veuillez soumettre un problème et je vous répondrai dans les plus brefs délais.