Source code for jdcloud_sdk.services.ias.apis.CreateAppRequest

# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# 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.
#
# NOTE: This class is auto generated by the jdcloud code generator program.

from jdcloud_sdk.core.jdcloudrequest import JDCloudRequest


[docs]class CreateAppRequest(JDCloudRequest): """ 创建应用 """ def __init__(self, parameters, header=None, version="v1"): super(CreateAppRequest, self).__init__( '/regions/{regionId}/app', 'POST', header, version) self.parameters = parameters
[docs]class CreateAppParameters(object): def __init__(self, regionId, ): """ :param regionId: 地域编码,参考OpenAPI公共说明 """ self.regionId = regionId self.clientName = None self.tokenEndpointAuthMethod = None self.grantTypes = None self.redirectUris = None self.clientUri = None self.logoUri = None self.tosUri = None self.policyUri = None self.scope = None self.jwksUri = None self.jwks = None self.contacts = None self.extension = None self.accessTokenValiditySeconds = None self.refreshTokenValiditySeconds = None self.multiTenant = None self.secret = None self.userType = None
[docs] def setClientName(self, clientName): """ :param clientName: (Optional) 应用名 """ self.clientName = clientName
[docs] def setTokenEndpointAuthMethod(self, tokenEndpointAuthMethod): """ :param tokenEndpointAuthMethod: (Optional) 客户端认证方式<br> - none:不设置客户端密码(不推荐)<br> - client_secret_post:客户端必须设置密码,且该密码需要在OAuth2 Token Endpoint提供于请求的body<br> - client_secret_basic:客户端必须设置密码,且该密码需要在OAuth2 Token Endpoint提供于请求的header<br> 支持以下值:<br> (1)none<br> (2)client_secret_post<br> (3)client_secret_basic """ self.tokenEndpointAuthMethod = tokenEndpointAuthMethod
[docs] def setGrantTypes(self, grantTypes): """ :param grantTypes: (Optional) 支持的OAuth类型:<br> - authorization_code:OAuth2授权码模式<br> - implicit:OAuth2隐式授权模式<br> - refresh_token:启用刷新令牌 支持以下值:<br> (1)authorization_code<br> (2)authorization_code,refresh_token<br> (3)authorization_code,implicit<br> (4)authorization_code,implicit,refresh_token<br> (5)implicit<br> 注:如果grantTypes指定了refresh_token,应用将可以使用刷新令牌;如果在创建应用时未指定,则应用不能使用刷新令牌;任何时候应用都可以调用“更新应用”接口更改grantTypes设置 """ self.grantTypes = grantTypes
[docs] def setRedirectUris(self, redirectUris): """ :param redirectUris: (Optional) 回调地址,最多4个,多个url之间用逗号,分隔,每个url长度不超过1000,url不支持#符号 """ self.redirectUris = redirectUris
[docs] def setClientUri(self, clientUri): """ :param clientUri: (Optional) 应用介绍地址,url不支持#符号 """ self.clientUri = clientUri
[docs] def setLogoUri(self, logoUri): """ :param logoUri: (Optional) 应用logo地址,url不支持#符号 """ self.logoUri = logoUri
[docs] def setTosUri(self, tosUri): """ :param tosUri: (Optional) 应用服务协议地址,url不支持#符号 """ self.tosUri = tosUri
[docs] def setPolicyUri(self, policyUri): """ :param policyUri: (Optional) 应用隐私政策地址,url不支持#符号 """ self.policyUri = policyUri
[docs] def setScope(self, scope): """ :param scope: (Optional) OAuth scope范围,支持的值为:<br/> (1)openid:用OpenID Connect协议进行身份认证<br/> 指定scope为openid,并在Authorization Endpoint请求该scope,京东云将返回用户的OpenID令牌;如果在创建应用时未指明该值,则应用不能请求OpenID令牌;任何时候应用都可以调用“更新应用”更改该设置 """ self.scope = scope
[docs] def setJwksUri(self, jwksUri): """ :param jwksUri: (Optional) JWKS地址,url不支持#符号<br/>jwksUri和jwks传一个即可 """ self.jwksUri = jwksUri
[docs] def setJwks(self, jwks): """ :param jwks: (Optional) JWKS """ self.jwks = jwks
[docs] def setContacts(self, contacts): """ :param contacts: (Optional) 应用联系信息 """ self.contacts = contacts
[docs] def setExtension(self, extension): """ :param extension: (Optional) 应用扩展信息 """ self.extension = extension
[docs] def setAccessTokenValiditySeconds(self, accessTokenValiditySeconds): """ :param accessTokenValiditySeconds: (Optional) 访问令牌有效期,值的范围为 600 秒到 6x3600=21,600 秒,即10分钟-6小时 """ self.accessTokenValiditySeconds = accessTokenValiditySeconds
[docs] def setRefreshTokenValiditySeconds(self, refreshTokenValiditySeconds): """ :param refreshTokenValiditySeconds: (Optional) 刷新令牌有效期,值的范围为 30x24x3600=2,592,000 秒到 365x24x3600=31,536,000 秒,即30天-365天<br/><br/> 注:当 GrantTypes 包含 refresh_token 时,refreshTokenValiditySeconds 为必传参数 """ self.refreshTokenValiditySeconds = refreshTokenValiditySeconds
[docs] def setMultiTenant(self, multiTenant): """ :param multiTenant: (Optional) 是否为多租户应用<br/> "false":该应用仅支持当前创建应用的租户访问,其他京东云租户无法访问<br/> "true":该应用支持其他京东云租户访问,但当前创建应用的租户不能访问 """ self.multiTenant = multiTenant
[docs] def setSecret(self, secret): """ :param secret: (Optional) 应用的密码,支持8-255位长度的ASCII可打印字符,建议使用足够复杂的密码策略<br/><br/> 注:当TokenEndpointAuthMethod不等于none时,secret为必传参数;反之,当指定了secret时,TokenEndpointAuthMethod不能等于none<br/>京东云将不可逆加密secret,因此您无法再次从京东云查看该密码,但您可以随时通过更新应用重新设置secret """ self.secret = secret
[docs] def setUserType(self, userType): """ :param userType: (Optional) 能访问应用的账号类型,支持以下值:<br/> (1)root:支持主账号访问,子用户无法访问<br/> (2)sub:子用户账号,使用主账号不能访问<br/><br/> 注:multiTenant和userType的组合指定了应用的用户人群,典型的应用场景如:<br/> (1)应用向当前租户下的子用户开放(2)应用向京东云其他租户主账号开放 """ self.userType = userType