1 # Copyright (C) 2018 Verizon. All Rights Reserved
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 from rest_framework import serializers
17 from lcm.nf import const
20 class OAuthCredentialsSerializer(serializers.Serializer):
21 clientId = serializers.CharField(
22 help_text="Client identifier to be used in the access token " +
23 "request of the OAuth 2.0 client credentials grant type.",
27 clientPassword = serializers.CharField(
28 help_text="Client password to be used in the access token " +
29 "request of the OAuth 2.0 client credentials grant type.",
33 tokenEndpoint = serializers.CharField(
34 help_text="The token endpoint from which the access token can " +
41 class BasicAuthSerializer(serializers.Serializer):
42 userName = serializers.CharField(
43 help_text="Username to be used in HTTP Basic authentication.",
47 password = serializers.CharField(
48 help_text="Password to be used in HTTP Basic authentication.",
54 class SubscriptionAuthenticationSerializer(serializers.Serializer):
55 authType = serializers.ListField(
56 child=serializers.ChoiceField(required=True, choices=const.AUTH_TYPES),
57 help_text="Defines the types of Authentication / Authorization " +
58 "which the API consumer is willing to accept when " +
59 "receiving a notification.",
61 paramsBasic = BasicAuthSerializer(
62 help_text="Parameters for authentication/authorization using BASIC.",
65 paramsOauth2ClientCredentials = OAuthCredentialsSerializer(
66 help_text="Parameters for authentication/authorization using " +
67 "OAUTH2_CLIENT_CREDENTIALS.",