bfc9e67d38
This PR contains the work done to implement the `AuthMiddleware` middleware, to authenticate the requests sent to the backend service, based on [their specifications](https://www.discogs.com/developers/#page:authentication). In addition, some documentation has been added/updated and some boilerplate source code has been removed from the project. Reviewed-on: #3 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
1 line
9.2 KiB
JSON
1 line
9.2 KiB
JSON
{"primaryContentSections":[{"declarations":[{"tokens":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthMethod","kind":"identifier"}],"platforms":["macOS"],"languages":["swift"]}],"kind":"declarations"},{"content":[{"type":"heading","level":2,"text":"Overview","anchor":"overview"},{"type":"paragraph","inlineContent":[{"text":"The differences between these authentication methods.","type":"text"}]},{"type":"table","header":"row","alignments":["unset","center","center","center"],"rows":[[[{"type":"paragraph","inlineContent":[{"text":"Credentials in request","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"Rate limiting?","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"Image URLs?","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"Authenticated as user?","type":"text"}]}]],[[{"type":"paragraph","inlineContent":[{"text":"None","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"🐢 Low tier","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"❌ No","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"❌ No","type":"text"}]}]],[[{"type":"paragraph","inlineContent":[{"text":"Only Consumer key\/secret","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"🐰 High tier","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"✔️ Yes","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"❌ No","type":"text"}]}]],[[{"type":"paragraph","inlineContent":[{"type":"text","text":"Personal access token"}]}],[{"type":"paragraph","inlineContent":[{"text":"🐰 High tier","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"text":"✔️ Yes","type":"text"}]}],[{"type":"paragraph","inlineContent":[{"type":"text","text":"✔️ Yes, for token holder only 👩"}]}]]]},{"type":"paragraph","inlineContent":[{"text":"Please refer to the ","type":"text"},{"identifier":"https:\/\/www.discogs.com\/developers#page:authentication,header:authentication-discogs-auth-flow","isActive":true,"type":"reference"},{"text":" for further details.","type":"text"}]}],"kind":"content"}],"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/discogsservice\/authmethod"]}],"relationshipsSections":[{"title":"Conforms To","identifiers":["doc:\/\/DiscogsService\/SQ","doc:\/\/DiscogsService\/s8SendableP","doc:\/\/DiscogsService\/s16SendableMetatypeP"],"type":"conformsTo","kind":"relationships"}],"seeAlsoSections":[{"title":"Authentication","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMiddleware","doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthTransport"],"anchor":"Authentication","generated":true}],"schemaVersion":{"minor":3,"major":0,"patch":0},"sections":[],"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod"},"abstract":[{"type":"text","text":"A representation of the available authentication methods at the Discogs service."}],"kind":"symbol","metadata":{"symbolKind":"enum","externalID":"s:14DiscogsService10AuthMethodO","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthMethod","kind":"identifier"}],"role":"symbol","navigatorTitle":[{"text":"AuthMethod","kind":"identifier"}],"modules":[{"name":"DiscogsService"}],"roleHeading":"Enumeration","title":"AuthMethod"},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/consumer(key:secret:)","doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/none","doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/user(token:)"],"anchor":"Enumeration-Cases","generated":true},{"title":"Default Implementations","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/Equatable-Implementations"],"anchor":"Default-Implementations","generated":true}],"references":{"doc://DiscogsService/documentation/DiscogsService/AuthMethod/user(token:)":{"fragments":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"user","kind":"identifier"},{"text":"(","kind":"text"},{"text":"token","kind":"externalParam"},{"text":": ","kind":"text"},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"},{"text":")","kind":"text"}],"role":"symbol","url":"\/documentation\/discogsservice\/authmethod\/user(token:)","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/user(token:)","abstract":[{"type":"text","text":"A user token that allows access to its own account information."}],"title":"AuthMethod.user(token:)","type":"topic","kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/AuthMethod":{"role":"symbol","type":"topic","abstract":[{"text":"A representation of the available authentication methods at the Discogs service.","type":"text"}],"kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod","url":"\/documentation\/discogsservice\/authmethod","navigatorTitle":[{"text":"AuthMethod","kind":"identifier"}],"title":"AuthMethod","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthMethod","kind":"identifier"}]},"doc://DiscogsService/documentation/DiscogsService/AuthMethod/none":{"fragments":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"none","kind":"identifier"}],"role":"symbol","url":"\/documentation\/discogsservice\/authmethod\/none","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/none","abstract":[{"type":"text","text":"No authentication method defined."}],"title":"AuthMethod.none","type":"topic","kind":"symbol"},"doc://DiscogsService/SQ":{"identifier":"doc:\/\/DiscogsService\/SQ","title":"Swift.Equatable","type":"unresolvable"},"doc://DiscogsService/documentation/DiscogsService/AuthMiddleware":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AuthMiddleware"}],"role":"symbol","navigatorTitle":[{"kind":"identifier","text":"AuthMiddleware"}],"url":"\/documentation\/discogsservice\/authmiddleware","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMiddleware","abstract":[{"type":"text","text":"A middleware that attaches any defined authentication credentials into the requests for the service."}],"title":"AuthMiddleware","kind":"symbol","type":"topic"},"doc://DiscogsService/documentation/DiscogsService/AuthTransport":{"role":"symbol","type":"topic","abstract":[{"text":"A representation of the available transport options to send credentials in authenticated requests.","type":"text"}],"kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthTransport","url":"\/documentation\/discogsservice\/authtransport","navigatorTitle":[{"text":"AuthTransport","kind":"identifier"}],"title":"AuthTransport","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthTransport","kind":"identifier"}]},"doc://DiscogsService/s16SendableMetatypeP":{"identifier":"doc:\/\/DiscogsService\/s16SendableMetatypeP","title":"Swift.SendableMetatype","type":"unresolvable"},"doc://DiscogsService/s8SendableP":{"identifier":"doc:\/\/DiscogsService\/s8SendableP","title":"Swift.Sendable","type":"unresolvable"},"https://www.discogs.com/developers#page:authentication,header:authentication-discogs-auth-flow":{"identifier":"https:\/\/www.discogs.com\/developers#page:authentication,header:authentication-discogs-auth-flow","title":"Discogs documentation","type":"link","titleInlineContent":[{"type":"text","text":"Discogs documentation"}],"url":"https:\/\/www.discogs.com\/developers#page:authentication,header:authentication-discogs-auth-flow"},"doc://DiscogsService/documentation/DiscogsService":{"role":"collection","title":"DiscogsService","kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService","abstract":[],"type":"topic","url":"\/documentation\/discogsservice"},"doc://DiscogsService/documentation/DiscogsService/AuthMethod/Equatable-Implementations":{"role":"collectionGroup","url":"\/documentation\/discogsservice\/authmethod\/equatable-implementations","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/Equatable-Implementations","abstract":[],"title":"Equatable Implementations","type":"topic","kind":"article"},"doc://DiscogsService/documentation/DiscogsService/AuthMethod/consumer(key:secret:)":{"fragments":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"consumer","kind":"identifier"},{"text":"(","kind":"text"},{"text":"key","kind":"externalParam"},{"text":": ","kind":"text"},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"},{"text":", ","kind":"text"},{"text":"secret","kind":"externalParam"},{"text":": ","kind":"text"},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"},{"text":")","kind":"text"}],"role":"symbol","url":"\/documentation\/discogsservice\/authmethod\/consumer(key:secret:)","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod\/consumer(key:secret:)","abstract":[{"type":"text","text":"A consumer key and secret that allows access to endpoints that requires authentication."}],"title":"AuthMethod.consumer(key:secret:)","type":"topic","kind":"symbol"}}} |