Loading services/register/register_service/__main__.py +13 −1 Original line number Original line Diff line number Diff line Loading @@ -48,11 +48,23 @@ data = { response = requests.request("POST", url, headers=headers, data=data, verify = False) response = requests.request("POST", url, headers=headers, data=data, verify = False) superadmin_cert = json.loads(response.text)['data']['certificate'] superadmin_cert = json.loads(response.text)['data']['certificate'] # Svae the superadmin certificate # Save the superadmin certificate cert_file = open("register_service/certs/superadmin.crt", 'wb') cert_file = open("register_service/certs/superadmin.crt", 'wb') cert_file.write(bytes(superadmin_cert, 'utf-8')) cert_file.write(bytes(superadmin_cert, 'utf-8')) cert_file.close() cert_file.close() url = f"http://{config['ca_factory']['url']}:{config['ca_factory']['port']}/v1/secret/data/ca" headers = { 'X-Vault-Token': config['ca_factory']['token'] } response = requests.request("GET", url, headers=headers, verify = False) ca_root = json.loads(response.text)['data']['data']['ca'] cert_file = open("register_service/certs/ca_root.crt", 'wb') cert_file.write(bytes(ca_root, 'utf-8')) cert_file.close() # Request CAPIF private key to encode the token # Request CAPIF private key to encode the token url = 'http://{}:{}/v1/secret/data/server_cert/private'.format(config["ca_factory"]["url"], config["ca_factory"]["port"]) url = 'http://{}:{}/v1/secret/data/server_cert/private'.format(config["ca_factory"]["url"], config["ca_factory"]["port"]) headers = {'X-Vault-Token': f"{config["ca_factory"]["token"]}"} headers = {'X-Vault-Token': f"{config["ca_factory"]["token"]}"} Loading services/register/register_service/controllers/register_controller.py +4 −5 Original line number Original line Diff line number Diff line Loading @@ -43,13 +43,12 @@ def register(): return register_operation.register_user(username, password, description, email) return register_operation.register_user(username, password, description, email) @register_routes.route("/getauth", methods=["POST"]) @register_routes.route("/getauth", methods=["GET"]) @auth.login_required @auth.login_required def getauth(): def getauth(): username = request.json["username"] username, role = auth.current_user() password = request.json["password"] return register_operation.get_auth(username, password) return register_operation.get_auth(username) @register_routes.route("/deleteUser", methods=["DELETE"]) @register_routes.route("/deleteUser", methods=["DELETE"]) @auth.login_required @auth.login_required Loading services/register/register_service/core/register_operations.py +10 −15 Original line number Original line Diff line number Diff line from flask import current_app, Flask, jsonify, request, Response from flask import Flask, jsonify, request, Response from flask_jwt_extended import create_access_token from flask_jwt_extended import create_access_token from ..db.db import MongoDatabse from ..db.db import MongoDatabse from datetime import datetime from datetime import datetime from ..config import Config from ..config import Config import secrets import base64 import requests import json import sys import uuid import uuid class RegisterOperations: class RegisterOperations: Loading @@ -31,28 +28,26 @@ class RegisterOperations: return jsonify(message="invoker registered successfully", uuid=user_uuid), 201 return jsonify(message="invoker registered successfully", uuid=user_uuid), 201 def get_auth(self, username, password): def get_auth(self, username): mycol = self.db.get_col_by_name(self.db.capif_users) mycol = self.db.get_col_by_name(self.db.capif_users) try: try: exist_user = mycol.find_one({"username": username, "password": password}) exist_user = mycol.find_one({"username": username}) if exist_user is None: if exist_user is None: return jsonify("Not exister user with this credentials"), 400 return jsonify("Not exister user with this credentials"), 400 access_token = create_access_token(identity=(username + " " + exist_user["uuid"])) access_token = create_access_token(identity=(username + " " + exist_user["uuid"])) url = f"http://{self.config['ca_factory']['url']}:{self.config['ca_factory']['port']}/v1/secret/data/ca" headers = { 'X-Vault-Token': self.config['ca_factory']['token'] cert_file = open("register_service/certs/ca_root.crt", 'rb') } ca_root = cert_file.read() response = requests.request("GET", url, headers=headers, verify = False) cert_file.close() response_payload = json.loads(response.text) return jsonify(message="Token and CA root returned successfully", return jsonify(message="Token and CA root returned successfully", access_token=access_token, access_token=access_token, ca_root=response_payload['data']['data']['ca'], ca_root=ca_root.decode("utf-8"), ccf_api_onboarding_url="api-provider-management/v1/registrations", ccf_api_onboarding_url="api-provider-management/v1/registrations", ccf_publish_url="published-apis/v1/<apfId>/service-apis", ccf_publish_url="published-apis/v1/<apfId>/service-apis", ccf_onboarding_url="api-invoker-management/v1/onboardedInvokers", ccf_onboarding_url="api-invoker-management/v1/onboardedInvokers", Loading Loading
services/register/register_service/__main__.py +13 −1 Original line number Original line Diff line number Diff line Loading @@ -48,11 +48,23 @@ data = { response = requests.request("POST", url, headers=headers, data=data, verify = False) response = requests.request("POST", url, headers=headers, data=data, verify = False) superadmin_cert = json.loads(response.text)['data']['certificate'] superadmin_cert = json.loads(response.text)['data']['certificate'] # Svae the superadmin certificate # Save the superadmin certificate cert_file = open("register_service/certs/superadmin.crt", 'wb') cert_file = open("register_service/certs/superadmin.crt", 'wb') cert_file.write(bytes(superadmin_cert, 'utf-8')) cert_file.write(bytes(superadmin_cert, 'utf-8')) cert_file.close() cert_file.close() url = f"http://{config['ca_factory']['url']}:{config['ca_factory']['port']}/v1/secret/data/ca" headers = { 'X-Vault-Token': config['ca_factory']['token'] } response = requests.request("GET", url, headers=headers, verify = False) ca_root = json.loads(response.text)['data']['data']['ca'] cert_file = open("register_service/certs/ca_root.crt", 'wb') cert_file.write(bytes(ca_root, 'utf-8')) cert_file.close() # Request CAPIF private key to encode the token # Request CAPIF private key to encode the token url = 'http://{}:{}/v1/secret/data/server_cert/private'.format(config["ca_factory"]["url"], config["ca_factory"]["port"]) url = 'http://{}:{}/v1/secret/data/server_cert/private'.format(config["ca_factory"]["url"], config["ca_factory"]["port"]) headers = {'X-Vault-Token': f"{config["ca_factory"]["token"]}"} headers = {'X-Vault-Token': f"{config["ca_factory"]["token"]}"} Loading
services/register/register_service/controllers/register_controller.py +4 −5 Original line number Original line Diff line number Diff line Loading @@ -43,13 +43,12 @@ def register(): return register_operation.register_user(username, password, description, email) return register_operation.register_user(username, password, description, email) @register_routes.route("/getauth", methods=["POST"]) @register_routes.route("/getauth", methods=["GET"]) @auth.login_required @auth.login_required def getauth(): def getauth(): username = request.json["username"] username, role = auth.current_user() password = request.json["password"] return register_operation.get_auth(username, password) return register_operation.get_auth(username) @register_routes.route("/deleteUser", methods=["DELETE"]) @register_routes.route("/deleteUser", methods=["DELETE"]) @auth.login_required @auth.login_required Loading
services/register/register_service/core/register_operations.py +10 −15 Original line number Original line Diff line number Diff line from flask import current_app, Flask, jsonify, request, Response from flask import Flask, jsonify, request, Response from flask_jwt_extended import create_access_token from flask_jwt_extended import create_access_token from ..db.db import MongoDatabse from ..db.db import MongoDatabse from datetime import datetime from datetime import datetime from ..config import Config from ..config import Config import secrets import base64 import requests import json import sys import uuid import uuid class RegisterOperations: class RegisterOperations: Loading @@ -31,28 +28,26 @@ class RegisterOperations: return jsonify(message="invoker registered successfully", uuid=user_uuid), 201 return jsonify(message="invoker registered successfully", uuid=user_uuid), 201 def get_auth(self, username, password): def get_auth(self, username): mycol = self.db.get_col_by_name(self.db.capif_users) mycol = self.db.get_col_by_name(self.db.capif_users) try: try: exist_user = mycol.find_one({"username": username, "password": password}) exist_user = mycol.find_one({"username": username}) if exist_user is None: if exist_user is None: return jsonify("Not exister user with this credentials"), 400 return jsonify("Not exister user with this credentials"), 400 access_token = create_access_token(identity=(username + " " + exist_user["uuid"])) access_token = create_access_token(identity=(username + " " + exist_user["uuid"])) url = f"http://{self.config['ca_factory']['url']}:{self.config['ca_factory']['port']}/v1/secret/data/ca" headers = { 'X-Vault-Token': self.config['ca_factory']['token'] cert_file = open("register_service/certs/ca_root.crt", 'rb') } ca_root = cert_file.read() response = requests.request("GET", url, headers=headers, verify = False) cert_file.close() response_payload = json.loads(response.text) return jsonify(message="Token and CA root returned successfully", return jsonify(message="Token and CA root returned successfully", access_token=access_token, access_token=access_token, ca_root=response_payload['data']['data']['ca'], ca_root=ca_root.decode("utf-8"), ccf_api_onboarding_url="api-provider-management/v1/registrations", ccf_api_onboarding_url="api-provider-management/v1/registrations", ccf_publish_url="published-apis/v1/<apfId>/service-apis", ccf_publish_url="published-apis/v1/<apfId>/service-apis", ccf_onboarding_url="api-invoker-management/v1/onboardedInvokers", ccf_onboarding_url="api-invoker-management/v1/onboardedInvokers", Loading