| Current Path : /opt/imh-python/lib/python3.9/site-packages/keystoneauth1/extras/_saml2/ |
| Current File : //opt/imh-python/lib/python3.9/site-packages/keystoneauth1/extras/_saml2/_loading.py |
# 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.
import typing as ty
from keystoneauth1.extras import _saml2
from keystoneauth1 import loading
from keystoneauth1.loading import opts
class Saml2Password(loading.BaseFederationLoader[_saml2.V3Saml2Password]):
@property
def plugin_class(self) -> ty.Type[_saml2.V3Saml2Password]:
return _saml2.V3Saml2Password
@property
def available(self) -> bool:
return _saml2._V3_SAML2_AVAILABLE
def get_options(self) -> list[opts.Opt]:
options = super().get_options()
options.extend(
[
loading.Opt(
'identity-provider-url',
required=True,
help=(
'An Identity Provider URL, where the SAML2 '
'authentication request will be sent.'
),
),
loading.Opt('username', help='Username', required=True),
loading.Opt(
'password', secret=True, help='Password', required=True
),
]
)
return options
class ADFSPassword(loading.BaseFederationLoader[_saml2.V3ADFSPassword]):
@property
def plugin_class(self) -> ty.Type[_saml2.V3ADFSPassword]:
return _saml2.V3ADFSPassword
@property
def available(self) -> bool:
return _saml2._V3_ADFS_AVAILABLE
def get_options(self) -> list[opts.Opt]:
options = super().get_options()
options.extend(
[
loading.Opt(
'identity-provider-url',
required=True,
help=(
'An Identity Provider URL, where the SAML '
'authentication request will be sent.'
),
),
loading.Opt(
'service-provider-endpoint',
required=True,
help="Service Provider's Endpoint",
),
loading.Opt(
'service-provider-entity-id',
required=True,
help="Service Provider's SAML Entity ID",
),
loading.Opt('username', help='Username', required=True),
loading.Opt(
'password', secret=True, required=True, help='Password'
),
]
)
return options