Skip to content

Adobe Primetime Authentication extension#1

Open
cdobre wants to merge 1 commit intomasterfrom
primetime-authentication-schema
Open

Adobe Primetime Authentication extension#1
cdobre wants to merge 1 commit intomasterfrom
primetime-authentication-schema

Conversation

@cdobre
Copy link
Copy Markdown
Owner

@cdobre cdobre commented Nov 19, 2018

Initial take on Adobe Primetime Authentication extension.

Please review!

@cdobre cdobre self-assigned this Nov 19, 2018
"you may not use this file except in compliance with the License. You may obtain a copy",
"of the License at https://creativecommons.org/licenses/by/4.0/"
],
"$id": "https://ns.adobe.com/experience/primetime-authentication/application",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider moving this to a "primetime" vs "primetime-*" URLs are not supposed to be used for this level of granularity.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense.
And if other Primetime teams will need to extend or shift the semantics for some fields, we'll have a great negotiation advantage, as we were here first! :)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

"$schema": "http://json-schema.org/draft-06/schema#",
"title": "Application extensions for Adobe Primetime Authentication",
"type": "object",
"meta:extends": ["https://ns.adobe.com/xdm/context/application"],
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets see if we can actually add these to the standard Application schema.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be great.
An application has 3 "zoom levels" in our system, as we consider the following hierarchy:

  • The actual commercial name, as advertised by the owner (e.g. WatchESPN)
  • The software package that gets shipped to a particular marketplace (e.g. WatchESPN iOS version 3.11)
  • A particular installation of such a software package on some device (e.g. the WatchESPN instance on my very phone).

"title": "Client API Version",
"type": "string",
"description":
"The client API version embedded or used by the application."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What client? Primetime? Improve the description please so it is clear what is supposed to go in here.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Client here stands for "Primetime Authentication SDK". Maybe we should call it that. @cdobre ?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have removed this field for now. We need to discuss internally if is important to track various sdk versions or server versions.

"title": "Server API Version",
"type": "string",
"description":
"The server API version to which the application connects to."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What server? Primetime? Improve the description please so it is clear what is supposed to go in here.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here: "Primetime Authentication API" would probably be the proper name.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have removed this field for now. We need to discuss internally if is important to track various sdk versions or server versions.

"title": "Service Provider",
"type": "string",
"description":
"The server API version to which the application connects to."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a copy/paste typo

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely. This is the owner of the app/site which makes the content available to the end user.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

"description":
"The server API version to which the application connects to."
},
"xdm:deviceType": {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With these two "deviceTypes" can we look at improving the standard XDM device type to cover the needs?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The owner of the application is using this field to identify/track the device/platform in their metrics. The value is free form and ranges from user friendly names ("android-tv") to random generated values ("113e0b30330c5415e033" which is "fire-tv")

"title": "Normalized Device Type",
"type": "string",
"description":
"The device type after was normalized by Adobe Primetime services from the application device type."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this use DeviceAtlas?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No it doesn't. The value here reflect a legacy mapping owned by Adobe Primetime service ( see the comment above:

  • the application device type is "113e0b30330c5415e033"
  • the normalize device type is "fire-tv"

"you may not use this file except in compliance with the License. You may obtain a copy",
"of the License at https://creativecommons.org/licenses/by/4.0/"
],
"$id": "https://ns.adobe.com/experience/primetime-authentication/authentication",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should likely be named +"-details"

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

"description": "The authorization type",
"meta:enum": {
"authoritative" : "The flow through which the end user obtains an authoritative authorization decision.",
"non-authoritative" : "The flow through which the end user obtains a non-authoritative authorization decision useful initial content filtering"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add for between authorization decision useful and initial content filtering.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

"xdm:failReason": {
"title" : "Fail Reason",
"type": "string",
"description": "The reason for failed authentication",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe it should state The reason for failed authorization

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

"invalid-refresh-token": "The OAuth2 refresh token is missing or invalid",
"invalid-authz-request": "There was an error when reading the authorization request",
"invalid-preflight-request": "The preflight request could not be build.",
"invalid-authz-request-degradation": "Authorization fails when trying to obtain authorization with an AuthNAll token for a different requestor than the one for which the authN token was issued",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace authN token with authentication token.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

"description":
"External authentication provider which might intermediate the authentication flow"
},
"xdm:authenticationType": {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where shall we put hba?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss this internally.

@cdobre cdobre force-pushed the primetime-authentication-schema branch 2 times, most recently from dd8bbbe to 4ed9b86 Compare January 17, 2019 14:40
@cdobre cdobre force-pushed the primetime-authentication-schema branch from 4ed9b86 to 24f2845 Compare January 17, 2019 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants