mirror of
https://github.com/Redocly/redoc.git
synced 2025-04-21 17:21:58 +03:00
DX-2817 Support classNames
This commit is contained in:
parent
407cacef0f
commit
caa3bfde5a
67
docs/css.md
Normal file
67
docs/css.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
title: Redoc CSS Guide
|
||||
---
|
||||
|
||||
# Custom CSS Overrides Guide
|
||||
|
||||
Certain components and containers in this project have been given unique classNames to allow for easier CSS overriding.
|
||||
|
||||
## List of Unique ClassNames
|
||||
|
||||
### Operations
|
||||
|
||||
- `middle-panel`: top level container for content in the middle panel of an **Operation**
|
||||
- `right-panel`: top level container for content in the right panel of an **Operation**
|
||||
- `operation-header`: `<h2>` that contains the **Operation** header/summary
|
||||
- `operation-description`: container for the **Operation** description
|
||||
|
||||
### Security
|
||||
|
||||
- `operation-security`: top level container for the Security/Auth section in an **Operation**
|
||||
- `security-details`: container for an individual security method in the Security/Auth section
|
||||
|
||||
### Parameters
|
||||
- `operation-parameters`: container for **Operation** query/path/header/form parameters
|
||||
|
||||
### Requests
|
||||
|
||||
- `operation-request-samples`: top level container for the **Request Samples** section in the right panel
|
||||
- `request-code-sample`: container for the request code samples in the right panel
|
||||
- `request-payload`: container for the request payload sample in the right panel
|
||||
|
||||
### Responses
|
||||
|
||||
- `operation-responses`: top level container for the **Responses** section in the middle panel
|
||||
- `response`: container for individual responses in the **Responses** section
|
||||
- `response-headers`: `<tbody>` for response headers for an individual response
|
||||
- `operation-response-samples`: top level container for the **Response Samples** section in the right panel
|
||||
- `response-sample`: container for the response payload sample in the right panel
|
||||
|
||||
### Callbacks
|
||||
|
||||
- `callbacks`: top level container for the **Callbacks** section in the middle panel
|
||||
- `callback`: container for individual callbacks in the **Callbacks** section
|
||||
- `operation-callback-samples`: top level container for the **Callback Samples** section in the right panel
|
||||
- `callback-sample`: container for the callback payload sample in the right panel
|
||||
|
||||
### Schemas
|
||||
|
||||
- `array-schema`: container for array schema
|
||||
- `object-schema`: `<tbody>` for object schema
|
||||
- `oneOf-schema`: container for oneOf schema
|
||||
- `recursive-schema` container for recursive schema
|
||||
|
||||
### Fields
|
||||
|
||||
- `field`: `<tr>` for individual fields inside a **Schema**
|
||||
- `field-details`: container for details on an individual **Field**
|
||||
- `field-constraints`: `<span>` for constraints on an individual **Field** inside the field details
|
||||
- `field-deprecated`: deprecated badge for an individual **Field** inside the field details
|
||||
- `field-example`: example value for an individual **Field** inside the field details
|
||||
- `field-pattern`: regex pattern for an individual **Field** inside the field details
|
||||
|
||||
### Other
|
||||
|
||||
- `side-menu`: top level container for the sidebar menu
|
||||
- `endpoint`: container for the endpoint URL used in multiple places
|
||||
- `request-body-description`: container for the description of a request body used in multiple places
|
|
@ -23,7 +23,7 @@ export class CallbackPayloadSample extends React.Component<PayloadSampleProps> {
|
|||
}
|
||||
|
||||
return (
|
||||
<PayloadSampleWrapper>
|
||||
<PayloadSampleWrapper className="callback-sample">
|
||||
<PayloadSamples content={payloadSample.requestBodyContent} />
|
||||
</PayloadSampleWrapper>
|
||||
);
|
||||
|
|
|
@ -56,7 +56,7 @@ export class CallbackSamples extends React.Component<CallbackSamplesProps> {
|
|||
});
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="operation-callback-samples">
|
||||
<RightPanelHeader> Callback payload samples </RightPanelHeader>
|
||||
|
||||
<SamplesWrapper>
|
||||
|
|
|
@ -24,7 +24,7 @@ export class CallbackDetails extends React.Component<CallbackDetailsProps> {
|
|||
const hasDescription = !!(description || externalDocs);
|
||||
|
||||
return (
|
||||
<CallbackDetailsWrap>
|
||||
<CallbackDetailsWrap className="callback">
|
||||
{hasDescription && (
|
||||
<Description>
|
||||
{description !== undefined && <Markdown source={description} />}
|
||||
|
|
|
@ -17,7 +17,7 @@ export class CallbacksList extends React.PureComponent<CallbacksListProps> {
|
|||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="operation-callbacks">
|
||||
<CallbacksHeader> Callbacks </CallbacksHeader>
|
||||
{callbacks.map(callback => {
|
||||
return callback.operations.map((operation, index) => {
|
||||
|
|
|
@ -48,7 +48,7 @@ export class Endpoint extends React.Component<EndpointProps, EndpointState> {
|
|||
return (
|
||||
<OptionsContext.Consumer>
|
||||
{options => (
|
||||
<OperationEndpointWrap>
|
||||
<OperationEndpointWrap className="endpoint">
|
||||
<EndpointInfo onClick={this.toggle} expanded={expanded} inverted={inverted}>
|
||||
<HttpVerb type={operation.httpVerb} compact={this.props.compact}>
|
||||
{operation.httpVerb}
|
||||
|
|
|
@ -90,7 +90,7 @@ export class Field extends React.Component<FieldProps> {
|
|||
|
||||
return (
|
||||
<>
|
||||
<tr className={isLast ? 'last ' + className : className}>
|
||||
<tr className={isLast ? 'last field' + className : className + ' field'}>
|
||||
{paramName}
|
||||
<PropertyDetailsCell>
|
||||
<FieldDetails {...this.props} />
|
||||
|
|
|
@ -11,7 +11,7 @@ export class ConstraintsView extends React.PureComponent<ConstraintsViewProps> {
|
|||
return null;
|
||||
}
|
||||
return (
|
||||
<span>
|
||||
<span className="field-constraints">
|
||||
{' '}
|
||||
{this.props.constraints.map(constraint => (
|
||||
<ConstraintItem key={constraint}> {constraint} </ConstraintItem>
|
||||
|
|
|
@ -16,7 +16,8 @@ function FieldDetailComponent({ value, label, raw }: FieldDetailProps) {
|
|||
|
||||
return (
|
||||
<div>
|
||||
<FieldLabel> {label} </FieldLabel> <ExampleValue>{stringifyValue}</ExampleValue>
|
||||
<FieldLabel> {label} </FieldLabel>{' '}
|
||||
<ExampleValue className="field-example">{stringifyValue}</ExampleValue>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ export const FieldDetailsComponent = observer((props: FieldProps) => {
|
|||
: schema.default;
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="field-details">
|
||||
<div>
|
||||
<TypePrefix>{schema.typePrefix}</TypePrefix>
|
||||
<TypeName>{schema.displayType}</TypeName>
|
||||
|
@ -92,7 +92,7 @@ export const FieldDetailsComponent = observer((props: FieldProps) => {
|
|||
{isArrayType && schema.items && <ArrayItemDetails schema={schema.items} />}
|
||||
</div>
|
||||
{deprecated && (
|
||||
<div>
|
||||
<div className="field-deprecated">
|
||||
<Badge type="warning"> {l('deprecated')} </Badge>
|
||||
</div>
|
||||
)}
|
||||
|
|
|
@ -18,7 +18,7 @@ export function Pattern(props: { schema: SchemaModel }) {
|
|||
|
||||
return (
|
||||
<>
|
||||
<PatternLabel>
|
||||
<PatternLabel className="field-pattern">
|
||||
{isPatternShown || pattern.length < MAX_PATTERN_LENGTH
|
||||
? pattern
|
||||
: `${pattern.substr(0, MAX_PATTERN_LENGTH)}...`}
|
||||
|
|
|
@ -35,8 +35,8 @@ export const Operation = observer(({ operation }: OperationProps): JSX.Element =
|
|||
<OptionsContext.Consumer>
|
||||
{options => (
|
||||
<Row {...{ [SECTION_ATTR]: operation.operationHash }} id={operation.operationHash}>
|
||||
<MiddlePanel>
|
||||
<H2>
|
||||
<MiddlePanel className="middle-panel">
|
||||
<H2 className="operation-header">
|
||||
<ShareLink to={operation.id} />
|
||||
{summary} {deprecated && <Badge type="warning"> Deprecated </Badge>}
|
||||
{isWebhook && (
|
||||
|
@ -50,7 +50,7 @@ export const Operation = observer(({ operation }: OperationProps): JSX.Element =
|
|||
<Endpoint operation={operation} inverted={true} />
|
||||
)}
|
||||
{hasDescription && (
|
||||
<Description>
|
||||
<Description className="operation-description">
|
||||
{description !== undefined && <Markdown source={description} />}
|
||||
{externalDocs && <ExternalDocumentation externalDocs={externalDocs} />}
|
||||
</Description>
|
||||
|
@ -61,7 +61,7 @@ export const Operation = observer(({ operation }: OperationProps): JSX.Element =
|
|||
<ResponsesList responses={operation.responses} />
|
||||
<CallbacksList callbacks={operation.callbacks} />
|
||||
</MiddlePanel>
|
||||
<DarkRightPanel>
|
||||
<DarkRightPanel className="right-panel">
|
||||
{!options.pathInMiddlePanel && !isWebhook && <Endpoint operation={operation} />}
|
||||
<RequestSamples operation={operation} />
|
||||
<ResponseSamples operation={operation} />
|
||||
|
|
|
@ -79,7 +79,9 @@ export function BodyContent(props: {
|
|||
{({ schema }) => {
|
||||
return (
|
||||
<>
|
||||
{description !== undefined && <Markdown source={description} />}
|
||||
{description !== undefined && (
|
||||
<Markdown source={description} className="request-body-description" />
|
||||
)}
|
||||
{schema?.type === 'object' && (
|
||||
<ConstraintsView constraints={schema?.constraints || []} />
|
||||
)}
|
||||
|
|
|
@ -21,7 +21,7 @@ export class ParametersGroup extends React.PureComponent<ParametersGroupProps, a
|
|||
}
|
||||
|
||||
return (
|
||||
<div key={place}>
|
||||
<div key={place} className="operation-parameters">
|
||||
<UnderlinedHeader>{place} Parameters</UnderlinedHeader>
|
||||
<PropertiesTable>
|
||||
<tbody>
|
||||
|
|
|
@ -53,7 +53,7 @@ export class Redoc extends React.Component<RedocProps> {
|
|||
/>
|
||||
)) ||
|
||||
null}
|
||||
<SideMenu menu={menu} />
|
||||
<SideMenu menu={menu} className="side-menu" />
|
||||
</StickyResponsiveSidebar>
|
||||
<ApiContentWrap className="api-content">
|
||||
<ApiInfo store={store} />
|
||||
|
|
|
@ -26,7 +26,7 @@ export class RequestSamples extends React.Component<RequestSamplesProps> {
|
|||
const hideTabList = samples.length === 1 ? this.context.hideSingleRequestSampleTab : false;
|
||||
return (
|
||||
(hasSamples && (
|
||||
<div>
|
||||
<div className="operation-request-samples">
|
||||
<RightPanelHeader> {l('requestSamples')} </RightPanelHeader>
|
||||
|
||||
<Tabs defaultIndex={0}>
|
||||
|
@ -40,7 +40,7 @@ export class RequestSamples extends React.Component<RequestSamplesProps> {
|
|||
{samples.map(sample => (
|
||||
<TabPanel key={sample.lang + '_' + (sample.label || '')}>
|
||||
{isPayloadSample(sample) ? (
|
||||
<div>
|
||||
<div className="request-payload">
|
||||
<PayloadSamples content={sample.requestBodyContent} />
|
||||
</div>
|
||||
) : (
|
||||
|
|
|
@ -23,7 +23,7 @@ export class ResponseSamples extends React.Component<ResponseSamplesProps> {
|
|||
|
||||
return (
|
||||
(responses.length > 0 && (
|
||||
<div>
|
||||
<div className="operation-response-samples">
|
||||
<RightPanelHeader> {l('responseSamples')} </RightPanelHeader>
|
||||
|
||||
<Tabs defaultIndex={0}>
|
||||
|
@ -36,7 +36,7 @@ export class ResponseSamples extends React.Component<ResponseSamplesProps> {
|
|||
</TabList>
|
||||
{responses.map(response => (
|
||||
<TabPanel key={response.code}>
|
||||
<div>
|
||||
<div className="response-sample">
|
||||
<PayloadSamples content={response.content!} />
|
||||
</div>
|
||||
</TabPanel>
|
||||
|
|
|
@ -28,7 +28,7 @@ export const ResponseView = observer(({ response }: ResponseViewProps): React.Re
|
|||
);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="response">
|
||||
<StyledResponseTitle
|
||||
onClick={() => response.toggle()}
|
||||
type={type}
|
||||
|
|
|
@ -19,7 +19,7 @@ export class ResponseHeaders extends React.PureComponent<ResponseHeadersProps> {
|
|||
return (
|
||||
<PropertiesTable>
|
||||
<HeadersCaption> Response Headers </HeadersCaption>
|
||||
<tbody>
|
||||
<tbody className="response-headers">
|
||||
{mapWithLast(headers, (header, isLast) => (
|
||||
<Field isLast={isLast} key={header.name} field={header} showExamples={true} />
|
||||
))}
|
||||
|
|
|
@ -26,7 +26,7 @@ export class ResponsesList extends React.PureComponent<ResponseListProps> {
|
|||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="operation-responses">
|
||||
<ResponsesHeader>{isCallback ? l('callbackResponses') : l('responses')}</ResponsesHeader>
|
||||
{responses.map(response => {
|
||||
return <ResponseView key={response.code} response={response} />;
|
||||
|
|
|
@ -34,7 +34,7 @@ export class ArraySchema extends React.PureComponent<SchemaProps> {
|
|||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="array-schema">
|
||||
<ArrayOpenningLabel> Array {minMaxItems}</ArrayOpenningLabel>
|
||||
<PaddedSchema>
|
||||
<Schema {...this.props} schema={itemsSchema} />
|
||||
|
|
|
@ -50,7 +50,7 @@ export const ObjectSchema = observer(
|
|||
return (
|
||||
<PropertiesTable>
|
||||
{showTitle && <PropertiesTableCaption>{title}</PropertiesTableCaption>}
|
||||
<tbody>
|
||||
<tbody className="object-schema">
|
||||
{mapWithLast(filteredFields, (field, isLast) => {
|
||||
return (
|
||||
<Field
|
||||
|
|
|
@ -51,7 +51,7 @@ export class OneOfSchema extends React.Component<SchemaProps> {
|
|||
const activeSchema = oneOf[schema.activeOneOf];
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="oneOf-schema">
|
||||
<OneOfLabel> {schema.oneOfType} </OneOfLabel>
|
||||
<OneOfList>
|
||||
{oneOf.map((subSchema, idx) => (
|
||||
|
|
|
@ -7,7 +7,7 @@ import type { SchemaProps } from '.';
|
|||
|
||||
export const RecursiveSchema = observer(({ schema }: SchemaProps) => {
|
||||
return (
|
||||
<div>
|
||||
<div className="recursive-schema">
|
||||
<TypeName>{schema.displayType}</TypeName>
|
||||
{schema.title && <TypeTitle> {schema.title} </TypeTitle>}
|
||||
<RecursiveLabel> {l('recursive')} </RecursiveLabel>
|
||||
|
|
|
@ -37,7 +37,7 @@ export function SecurityRequirements(props: SecurityRequirementsProps) {
|
|||
|
||||
return (
|
||||
<>
|
||||
<Wrap expanded={expanded}>
|
||||
<Wrap expanded={expanded} className="operation-security">
|
||||
<AuthHeaderColumn onClick={() => setExpanded(!expanded)}>
|
||||
<AuthHeader>Authorizations:</AuthHeader>
|
||||
<ShelfIcon size={'1.3em'} direction={expanded ? 'down' : 'right'} />
|
||||
|
@ -56,7 +56,7 @@ export function SecurityRequirements(props: SecurityRequirementsProps) {
|
|||
{expanded &&
|
||||
operationSecuritySchemes?.length &&
|
||||
operationSecuritySchemes.map((scheme, idx) => (
|
||||
<SecurityDetailsStyle key={idx}>
|
||||
<SecurityDetailsStyle key={idx} className="security-details">
|
||||
<h5>
|
||||
<LockIcon /> {AUTH_TYPES[scheme.type] || scheme.type}: {scheme.id}
|
||||
</h5>
|
||||
|
|
|
@ -19,7 +19,7 @@ export const SourceCodeWithCopy = (props: SourceCodeProps) => {
|
|||
return (
|
||||
<CopyButtonWrapper data={source}>
|
||||
{({ renderCopyButton }) => (
|
||||
<SampleControlsWrap>
|
||||
<SampleControlsWrap className="request-code-sample">
|
||||
<SampleControls>{renderCopyButton()}</SampleControls>
|
||||
<SourceCode lang={lang} source={source} />
|
||||
</SampleControlsWrap>
|
||||
|
|
|
@ -2856,7 +2856,9 @@ exports[`Components SchemaView discriminator should correctly render SchemaView
|
|||
|
||||
exports[`Components SchemaView discriminator should correctly render discriminator dropdown 1`] = `
|
||||
<styled.table>
|
||||
<tbody>
|
||||
<tbody
|
||||
className="object-schema"
|
||||
>
|
||||
<Field
|
||||
expandByDefault={false}
|
||||
field={
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Components SchemaView OneOf deprecated should match snapshot 1`] = `
|
||||
<div>
|
||||
<div
|
||||
class="oneOf-schema"
|
||||
>
|
||||
<span
|
||||
class="sc-kfYoZR juYXUf"
|
||||
>
|
||||
|
@ -30,7 +32,9 @@ exports[`Components SchemaView OneOf deprecated should match snapshot 1`] = `
|
|||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div
|
||||
class="field-details"
|
||||
>
|
||||
<div>
|
||||
<span
|
||||
class="sc-laZMeE sc-iNiQyp jWaWWE jrLlAa"
|
||||
|
|
|
@ -10,14 +10,14 @@ OAuth2 is also a safer and more secure way to give you access.</p>
|
|||
</div><div class=\\"sc-EZqKI aOkZE\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Security Scheme Type: </b><span>OpenID Connect</span></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Connect URL: </b><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"https://gitlab.com/.well-known/openid-configuration\\">https://gitlab.com/.well-known/openid-configuration</a></code></div></div></div></div></div></div><div id=\\"section/Authentication/basicAuth\\" data-section-id=\\"section/Authentication/basicAuth\\" class=\\"sc-eCApnc jlMQbh\\"><div class=\\"sc-iCoGMd gLxhOh\\"><div class=\\"sc-hKFxyN juinod\\"><h2 class=\\"sc-pNWdM eftmgB\\">basicAuth</h2><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"></div><div class=\\"sc-EZqKI aOkZE\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Security Scheme Type: </b><span>HTTP</span></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>HTTP Authorization Scheme: </b><code>basic</code></div><div class=\\"sc-fXgAZx gZCyoW\\"></div></div></div></div></div></div>"
|
||||
`;
|
||||
|
||||
exports[`SecurityRequirement should render authDefinition 1`] = `"<div class=\\"sc-bQCEYZ eDdCgW\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp iPqByX\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb kJFNCL\\"><span class=\\"sc-kYPZxB irJeRy\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB irJeRy\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i></span></span></div></div>,"`;
|
||||
exports[`SecurityRequirement should render authDefinition 1`] = `"<div class=\\"sc-bQCEYZ eDdCgW operation-security\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp iPqByX\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb kJFNCL\\"><span class=\\"sc-kYPZxB irJeRy\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB irJeRy\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i></span></span></div></div>,"`;
|
||||
|
||||
exports[`SecurityRequirement should render authDefinition 2`] = `
|
||||
"<div class=\\"sc-bQCEYZ dSwEDq\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp fVWtGJ\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb ekRdav\\"><span class=\\"sc-kYPZxB fhGdrc\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB fhGdrc\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i> (<code class=\\"sc-eHEENL fwFTyL\\">write:pets</code><code class=\\"sc-eHEENL fwFTyL\\">read:pets</code>) </span></span></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OAuth2: petstore_auth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>Get access to data while protecting your account credentials.
|
||||
"<div class=\\"sc-bQCEYZ dSwEDq operation-security\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp fVWtGJ\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb ekRdav\\"><span class=\\"sc-kYPZxB fhGdrc\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB fhGdrc\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i> (<code class=\\"sc-eHEENL fwFTyL\\">write:pets</code><code class=\\"sc-eHEENL fwFTyL\\">read:pets</code>) </span></span></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OAuth2: petstore_auth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>Get access to data while protecting your account credentials.
|
||||
OAuth2 is also a safer and more secure way to give you access.</p>
|
||||
</div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Flow type: </b><code>implicit </code></div><div class=\\"sc-fXgAZx gZCyoW\\"><strong> Authorization URL: </strong><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"http://petstore.swagger.io/api/oauth/dialog\\">http://petstore.swagger.io/api/oauth/dialog</a></code></div><div><b>Required scopes: </b><code>write:pets</code> <code>read:pets</code> </div><div class=\\"sc-fXgAZx gZCyoW\\"><b> Scopes: </b></div><div class=\\"sc-jXcxbT blWOKY container\\" style=\\"height: 4em;\\"><ul><li><code>write:pets</code> - <span class=\\"sc-carFqZ bmTzxo redoc-markdown\\"><p>modify pets in your account</p>
|
||||
</span></li><li><code>read:pets</code> - <span class=\\"sc-carFqZ bmTzxo redoc-markdown\\"><p>read your pets</p>
|
||||
</span></li></ul></div><div class=\\"sc-eEVmNe gbLbHj\\"></div></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> API Key: GitLab_PersonalAccessToken</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab Personal Access Token description</p>
|
||||
</div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Header parameter name: </b><code>PRIVATE-TOKEN</code></div></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OpenID Connect: GitLab_OpenIdConnect</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab OpenIdConnect description</p>
|
||||
</div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Connect URL: </b><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"https://gitlab.com/.well-known/openid-configuration\\">https://gitlab.com/.well-known/openid-configuration</a></code></div></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> HTTP: basicAuth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>HTTP Authorization Scheme: </b><code>basic</code></div><div class=\\"sc-fXgAZx gZCyoW\\"></div></div></div>,"
|
||||
</span></li></ul></div><div class=\\"sc-eEVmNe gbLbHj\\"></div></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> API Key: GitLab_PersonalAccessToken</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab Personal Access Token description</p>
|
||||
</div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Header parameter name: </b><code>PRIVATE-TOKEN</code></div></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OpenID Connect: GitLab_OpenIdConnect</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab OpenIdConnect description</p>
|
||||
</div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Connect URL: </b><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"https://gitlab.com/.well-known/openid-configuration\\">https://gitlab.com/.well-known/openid-configuration</a></code></div></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> HTTP: basicAuth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>HTTP Authorization Scheme: </b><code>basic</code></div><div class=\\"sc-fXgAZx gZCyoW\\"></div></div></div>,"
|
||||
`;
|
||||
|
|
Loading…
Reference in New Issue
Block a user