Source code for nvflare.app_opt.confidential_computing.mock_authorizer

# Copyright (c) 2024, NVIDIA CORPORATION.  All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from nvflare.app_opt.confidential_computing.cc_authorizer import CCAuthorizer

MOCK_NAMESPACE = "x-mock"


[docs] class MockAuthorizer(CCAuthorizer):
[docs] def generate(self): return "eyJhbGciOiJSUzI1NiIsImprdSI6Imh0dHBzOi8vc2hhcmVkZXVzMi5ldXMyLmF0dGVzdC5henVyZS5uZXQvY2VydHMiLCJraWQiOiJKMHBBUGRmWFhIcVdXaW1nckg4NTN3TUlkaDUvZkxlMXo2dVNYWVBYQ2EwPSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDk5NDM0OTYsImlhdCI6MTcwOTkxNDY5NiwiaXNzIjoiaHR0cHM6Ly9zaGFyZWRldXMyLmV1czIuYXR0ZXN0LmF6dXJlLm5ldCIsImp0aSI6IjQ1MGIxNWMxMmRmYzIxMWM5ZWRkOGU4MmFiY2NiZTEzYmMyOTgzZjlhNjAzOTZlMzljZTJmZGIwYjFmNTg1YzEiLCJuYmYiOjE3MDk5MTQ2OTYsInNlY3VyZWJvb3QiOnRydWUsIngtbXMtYXR0ZXN0YXRpb24tdHlwZSI6ImF6dXJldm0iLCJ4LW1zLWF6dXJldm0tYXR0ZXN0YXRpb24tcHJvdG9jb2wtdmVyIjoiMi4wIiwieC1tcy1henVyZXZtLWF0dGVzdGVkLXBjcnMiOlswLDEsMiwzLDQsNSw2LDddLCJ4LW1zLWF6dXJldm0tYm9vdGRlYnVnLWVuYWJsZWQiOmZhbHNlLCJ4LW1zLWF6dXJldm0tZGJ2YWxpZGF0ZWQiOnRydWUsIngtbXMtYXp1cmV2bS1kYnh2YWxpZGF0ZWQiOnRydWUsIngtbXMtYXp1cmV2bS1kZWJ1Z2dlcnNkaXNhYmxlZCI6dHJ1ZSwiwC1tcy1henVyZXZtLWRlZmF1bHQtc2VjdXJlYm9vdGtleXN2YWxpZGF0ZWQiOnRydWUsIngtbXMtYXp1cmV2bS1lbGFtLWVuYWJsZWQiOmZhbHNlLCJ4LW1zLWF6dXJldm0tZmxpZ2h0c2lnbmluZy1lbmFibGVkIjpmYWxzZSwieC1tcy1henVyZXZtLWh2Y2ktcG9saWN5IjowLCJ4LW1zLWF6dXJldm0taHlwZXJ2aXNvcmRlYnVnLWVuYWJsZWQiOmZhbHNlLCJ4LW1zLWF6dXJldm0taXMtd2luZG93cyI6ZmFsc2UsIngtbXMtYXp1cmV2bS1rZXJuZWxkZWJ1Zy1lbmFibGVkIjpmYWxzZSwieC1tcy1henVyZXZtLW9zYnVpbGQiOiJOb3RBcHBsaWNhdGlvbiIsIngtbXMtYXp1cmV2bS1vc2Rpc3RybyI6IlVidW50dSIsIngtbXMtYXp1cmV2bS1vc3R5cGUiOiJMaW51eCIsIngtbXMtYXp1cmV2bS1vc3ZlcnNpb24tbWFqb3IiOjIyLCJ4LW1zLWF6dXJldm0tb3N2ZXJzaW9uLW1pbm9yIjo0LCJ4LW1zLWF6dXJldm0tc2lnbmluZ2Rpc2FibGVkIjp0cnVlLCJ4LW1zLWF6dXJldm0tdGVzdHNpZ25pbmctZW5hYmxlZCI6ZmFsc2UsIngtbXMtYXp1cmV2bS12bWlkIjoiQzRGRkM0QjMtOUFERi00MEQxLThDQ0MtMTAxMUUxQkNDREIwIiwieC1tcy1pc29sYXRpb24tdGVlIjp7IngtbXMtYXR0ZXN0YXRpb24tdHlwZSI6InNldnNucHZtIiwieC1tcy1jb21wbGlhbmNlLXN0YXR1cyI6ImF6dXJlLWNvbXBsaWFudC1jdm0iLCJ4LW1zLXJ1bnRpbWUiOnsia2V5cyI6W3siZSI6IkFRQUIiLCJrZXlfb3BzIjpbInNpZ24iXSwia2lkIjoiSENMQWtQdWIiLCJrdHkiOiJSU0EiLCJuIjoiNEFQakF3QUFwQjE4cnc0bDh4Y0pmQXNpT1pJb1lSdGpYLVdOM0RhdVZ2cWlOSGlNU2RFaFNtWW9CQnVTcUVfa2pHblpZOFRWb2RSRkdJNWtFalR4NmhBZFM1OHIzY2R6OEtYMERmOHZERjF3Y2NjVW52SHJGY3FnRnNGVWs0UHJZZko2eU9nell2bmhvdWFSQlZ4dmZ5bEMwZWZhTUNUUkdES2pZSzhPVV9RcWxFeGIzY19neEJZWGlSZ3dBYWFaZUd4eFNId3U0a3lwZ3hwMlhjWXlHLVU3a3FHc01VWnlkZmM0eUxiS1BQcl9zMUJYUTNSbkFtdTQtblhkdVRmcWlWX2gxbGN4V29fYVhSWkFNdG9hTnVkclkyMVZVV3AzVW5xeFFtdGVGcXplWWpEQm8ta2Fjel9iNG9Gem5OM29aSlVUZmJnb09sTzJzbDc3U05Xa0x3In0seyJlIjoiQVFBQiIsImtleV9vcHMiOlsiZW5jcnlwdCJdLCJraWQiOiJIQ0xFa1B1YiIsImt0eSI6IlJTQSIsIm4iOiJ3c3lxREFBQloySHlTd08wTDFaWXZwVkhOVFVpdXpPaGcyb3Bfa1VpckNqM1M5bEtpT051YmU4RWFsSFVBcUh6bGdEcF84dHdBdGRONGNOUzZUSWdITG94TXpaZUFpaWU1OGd2VGtYdzVqMThmVUY4UEVvT2NXVERFSmRMVXIxWnBEdTRSdUZXbDdkZHNIdFBJRDVqcmt0R21FajBCZVp5NzZWVGFUYU1iamhGRmphUGNCT01fOWNaVHJYdFduSG80WTF1TG53VUJPRzA3T1hrUmlTSjBHZ3phVFhvaFVzVGE4X0w5NDJfeml5QU16STliUnJmUV9JMXY0SFV0M1YzS3laaUZJS3B4X2hWQnZZZUhwcTZBbXlYRTExS0VXek5HMTJaZVNkbzBzMUhudFNidTQ3dUktYklIdnBLaVVQSzBYSGZWbDQwVnNwenJ2MjlqekppR1EifV0sInVzZXItZGF0YSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwidm0tY29uZmlndXJhdGlvbiI6eyJjb25zb2xlLWVuYWJsZWQiOnRydWUsInJvb3QtY2VydC10aHVtYnByaW50IjoiNm5aWm5ZYUpjNEtxVVpfeXZBLW11Y0ZkWU5vdXZsUG5JVG5OTVhzSGwtMCIsInNlY3VyZS1ib290Ijp0cnVlLCJ0cG0tZW5hYmxlZCI6dHJ1ZSwidHBtLXBlcnNpc3RlZCI6dHJ1ZSwidm1VbmlxdWVJZCI6IkM0RkZDNEIzLTlBREYtNDBEMS04Q0NDLTEwMTFFMUJDQ0RCMCJ9fSwieC1tcy1zZXZzbnB2bS1hdXRob3JrZXlkaWdlc3QiOiIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJ4LW1zLXNldnNucHZtLWJvb3Rsb2FkZXItc3ZuIjo3LCJ4LW1zLXNldnNucHZtLWZhbWlseUlkIjoiMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJ4LW1zLXNldnNucHZtLWd1ZXN0c3ZuIjo2NTU0MSwieC1tcy1zZXZzbnB2bS1ob3N0ZGF0YSI6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJ4LW1zLXNldnNucHZtLWlka2V5ZGlnZXN0IjoiMDM1NjIxNTg4MmE4MjUyNzlhODViMzAwYjBiNzQyOTMxZDExM2JmN2UzMmRkZTJlNTBmZmRlN2VjNzQzY2E0OTFlY2RkN2YzMzZkYzI4YTZlMGIyYmI1N2FmN2E0NGEzIiwieC1tcy1zZXZzbnB2bS1pbWFnZUlkIjoiMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJ4LW1zLXNldnNucHZtLWlzLWRlYnVnZ2FibGUiOmZhbHNlLCJ4LW1zLXNldnNucHZtLWxhdW5jaG1lYXN1cmVtZW50IjoiN2M0MjA4NjE0ZDMyNzYzMDI4M2VkOGFhNjUyOTcxZjNkYzI0YzU0NmY2ZWUxMzBkMzJlNGUzYjg0ZjFhYTFmNWVmMmQyMTAxMmQwZmRlMDU2ZDhmOTAwYzM5MmM3NzJjIiwieC1tcy1zZXZzbnB2bS1taWNyb2NvZGUtc3ZuIjo2MiwieC1tcy1zZXZzbnB2bS1taWdyYXRpb24tYWxsb3dlZCI6ZmFsc2UsIngtbXMtc2V2c25wdm0tcmVwb3J0ZGF0YSI6IjU0ODE0ZTlhNjQ0N2JjMWM5MGE5YTExNmYxYjRjYjdlMDU5ZTYzMzQzNDgwY2Q4N2FmMjcxZjc5MjdjOThlMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwieC1tcy1zZXZzbnB2bS1yZXBvcnRpZCI6ImRhNjU0YWY3NGZiODIzZjJiM2E1ODMzMzVmOGYzYmUzMmY2ODkwYTdkYjIzMzUyM2RkOWUwNTRmNDQzMDU2OWYiLCJ4LW1zLXNldnNucHZtLXNtdC1hbGxvd2VkIjp0cnVlLCJ4LW1zLXNldnNucHZtLXNucGZ3LXN2biI6MTUsIngtbXMtc2V2c25wdm0tdGVlLXN2biI6MCwieC1tcy1zZXZzbnB2bS12bXBsIjowfSwieC1tcy1wb2xpY3ktaGFzaCI6IndtOW1IbHZUVTgyZThVcW9PeTFZajFGQlJTTmtmZTk5LTY5SVlEcTllV3MiLCJ4LW1zLXJ1bnRpbWUiOnsiY2xpZW50LXBheWxvYWQiOnsibm9uY2UiOiIifSwia2V5cyI6W3siZSI6IkFRQUIiLCJrZXlfb3BzIjpbImVuY3J5cHQiXSwia2lkIjoiVHBtRXBoZW1lcmFsRW5jcnlwdGlvbktleSIsImt0eSI6IlJTQSIsIm4iOiJ6eHN2bWdBQV9rRlBKMjZzYnRfdFhVUDhqcHowMk50YnhRU2hPd0lxa1h6U1hxUGJmV1Vxb1hpUm9idzJqTC01ZTNiQU1LU3J3cmpMU09DcnNtbjdPMnZxVmNBMW9Ucl9ObFE3NEpMMnlBanZVWGFId0dBZVVzbkNfWm51UXltdzNFMXJ4NnNCUUxZWFcwMTRiQjNKX01feFBDaGZfQk9NTGdNTlRzbTNwbGh0eTVNRWJ5OWJBSXp6a2ZPNjZhblhWUWxUVE1xQk43SkJVeU5QSFBWQU82V3N6bzl6YnI1aWhlUUxOZDZLZXNEMHU1VXBYaVo4UU5zUng2cXJCUS12TkVsVXQ2cXRvbC1xVzh4TkdvckxBWlhhZ0FyRVpGTE9aOEZWa0hQWGlMM0wwZ253eDBvb0l5UG5pbk5WY2dLanFYR3pOdnB1ejJGTmNuQU9uS2pKZFEifV19LCJ4LW1zLXZlciI6IjEuMCJ9.COvydLJUjR5voFyG-AUJlEp9fyJNBtbptkgq9p-KNkMlFCorY87VZPDrmITH4gYM5YpYuDk370P81hvd2Pw9COZB1-t9VSaWMJzcyL-T43Sh8nSGNO13kOqDQiHss1907kBiFy2jWngaoxuJvO4BSNFkxL9bsCsEZVSpMDmO9zZkp1Ja7sp-Cptm9rwf5JTfKuWZ4cazn2hUkWbQHBg51b8AeryNzU-35oEhGCIPYqryXv5SY32PB9s-lwh6l7K3t768P817XKF3Szip0TZpgIMoM0GU4oNOnjnFZ3u8DnvuyEim-pCZgP7qpQmJI4lrgI6Sn-jxqTg8q0FUmAkcnQ"
[docs] def verify(self, token): return True
[docs] def get_namespace(self) -> str: return MOCK_NAMESPACE