Skip to main content

Shepherd writeup
draft-ietf-oauth-native-apps

Shepherd Write-Up for "OAuth 2.0 for Native Apps"
<draft-ietf-oauth-native-apps-09> 

(1) What type of RFC is being requested (BCP, Proposed Standard,
Internet Standard, Informational, Experimental, or Historic)?  Why
is this the proper type of RFC?  Is this type of RFC indicated in the
title page header?

This specification is proposed as a 'Best Current Practice' document. The 
type of RFC is indicated. The document summarizes the experience from 
industry on how to use OAuth for native applications securely. 

(2) The IESG approval announcement includes a Document Announcement
Write-Up. Please provide such a Document Announcement Write-Up. Recent
examples can be found in the "Action" announcements for approved
documents. The approval announcement contains the following sections:

Technical Summary

   OAuth 2.0 authorization requests from native apps should only be made
   through external user-agents, primarily the user's browser.  This
   specification details the security and usability reasons why this is
   the case, and how native apps and authorization servers can implement
   this best practice.

Working Group Summary

   The OAuth 2.0 authorization framework, documents two approaches for 
   native apps to interact with the authorization endpoint: via an 
   embedded user-agent, or an external user-agent.

   This document recommends external user-agents like in-app browser
   tabs as the only secure and usable choice for OAuth. 

Document Quality

  Are there existing implementations of the protocol? Have a 
  significant number of vendors indicated their plan to 
  implement the specification? Are there any reviewers that 
  merit special mention as having done a thorough review, 
  e.g., one that resulted in important changes or a 
  conclusion that the document had no substantive issues? If 
  there was a MIB Doctor, Media Type or other expert review, 
  what was its course (briefly)? In the case of a Media Type 
  review, on what date was the request posted?

There are high-quality libraries available following the 
recommendations in this document: 
- Android: http://openid.github.io/AppAuth-Android  
- iOS: http://openid.github.io/AppAuth-iOS   
- Windows: https://github.com/googlesamples/oauth-apps-for-windows

Google has deprecated support for WebView-based OAuth and 
now requires the use of the practices defined in the BCP. 
The pattern is documented at 
https://developers.google.com/identity/protocols/OAuth2InstalledApp 
for the Google OAuth server, and is also recommended by Android 
for Work, see https://developer.android.com/work/guide.html#sso.

Ping Identity describes the pattern and has OAuth for Native Apps 
compliant samples, see 
https://www.pingidentity.com/en/blog/2016/03/10/using_appauth_to_enable_your_apps_with_mobile_sso.html
https://github.com/pingidentity/ios-appauth-sample-application
https://github.com/pingidentity/android-appauth-sample-application

Okta has published OAuth for Native Apps compliant samples: 
https://github.com/oktadeveloper/okta-openidconnect-appauth-sample-android
https://github.com/oktadeveloper/okta-openidconnect-appauth-sample-swift

The AppAuth library implements the BCP 100%, including honoring the 
"NOT RECOMMENDED" advice.

In terms of review the document has received feedback from major OS 
providers and the available code demonstrates the practical nature of 
the recommended approach. 

Personnel

  Who is the Document Shepherd? Who is the Responsible Area
  Director?

Hannes Tschofenig is the document shepherd and the responsible area 
director is Kathleen Moriarty. 

(3) Briefly describe the review of this document that was performed by
the Document Shepherd.  If this version of the document is not ready
for publication, please explain why the document is being forwarded to
the IESG.

The document shepherd was involved in the working group review process
and verified the document for correctness.

The shepherd has not contributed or worked with the above-mentioned 
libraries. Hence, he has not verified the text in Appendix B "Operating 
System Specific Implementation Details". 

(4) Does the document Shepherd have any concerns about the depth or
breadth of the reviews that have been performed?  

There are no concerns regarding the document reviews. 

(5) Do portions of the document need review from a particular or from
broader perspective, e.g., security, operational complexity, AAA, DNS,
DHCP, XML, or internationalization? If so, describe the review that
took place.

It would be great if reviewers with experience in native application 
development (particularly on mobile OSs) could take a look at this document. 

(6) Describe any specific concerns or issues that the Document Shepherd
has with this document that the Responsible Area Director and/or the
IESG should be aware of? For example, perhaps he or she is uncomfortable
with certain parts of the document, or has concerns whether there really
is a need for it. In any event, if the WG has discussed those issues and
has indicated that it still wishes to advance the document, detail those
concerns here.

The document shepherd has no concerns with the document. 

(7) Has each author confirmed that any and all appropriate IPR
disclosures required for full conformance with the provisions of BCP 78
and BCP 79 have already been filed. If not, explain why.

The authors have confirmed full conformance with the provisions of BCP 78
and BCP 79: 

William: https://www.ietf.org/mail-archive/web/oauth/current/msg16709.html 
John: https://www.ietf.org/mail-archive/web/oauth/current/msg16677.html

(8) Has an IPR disclosure been filed that references this document?
If so, summarize any WG discussion and conclusion regarding the IPR
disclosures.

No IPR disclosures have been filed for this document. 

(9) How solid is the WG consensus behind this document? Does it 
represent the strong concurrence of a few individuals, with others
being silent, or does the WG as a whole understand and agree with it?   

There is solid consensus in the working group for publishing this 
document. 

(10) Has anyone threatened an appeal or otherwise indicated extreme 
discontent? If so, please summarise the areas of conflict in separate
email messages to the Responsible Area Director. (It should be in a
separate email because this questionnaire is publicly available.) 

Nobody threatened an appeal or expressed extreme discontent. 

(11) Identify any ID nits the Document Shepherd has found in this
document. (See http://www.ietf.org/tools/idnits/ and the Internet-Drafts
Checklist). Boilerplate checks are not enough; this check needs to be
thorough.

The shepherd checked the document. 

(12) Describe how the document meets any required formal review
criteria, such as the MIB Doctor, media type, and URI type reviews.

No formal review is needed. 

(13) Have all references within this document been identified as
either normative or informative?

Yes. The references are split into normative and informative references. 

(14) Are there normative references to documents that are not ready for
advancement or are otherwise in an unclear state? If such normative
references exist, what is the plan for their completion?

All normative references are published RFCs. 

(15) Are there downward normative references references (see RFC 3967)?
If so, list these downward references to support the Area Director in 
the Last Call procedure. 

There are no downward normative references. 

(16) Will publication of this document change the status of any
existing RFCs? Are those RFCs listed on the title page header, listed
in the abstract, and discussed in the introduction? If the RFCs are not
listed in the Abstract and Introduction, explain why, and point to the
part of the document where the relationship of this document to the
other RFCs is discussed. If this information is not in the document,
explain why the WG considers it unnecessary.

This document does not change the status of an existing RFC. 

(17) Describe the Document Shepherd's review of the IANA considerations
section, especially with regard to its consistency with the body of the
document. Confirm that all protocol extensions that the document makes
are associated with the appropriate reservations in IANA registries.
Confirm that any referenced IANA registries have been clearly
identified. Confirm that newly created IANA registries include a
detailed specification of the initial contents for the registry, that
allocations procedures for future registrations are defined, and a
reasonable name for the new registry has been suggested (see RFC 5226).

This document does not request any actions by IANA. 
 
(18) List any new IANA registries that require Expert Review for future
allocations. Provide any public guidance that the IESG would find
useful in selecting the IANA Experts for these new registries.

None. 

(19) Describe reviews and automated checks performed by the Document
Shepherd to validate sections of the document written in a formal
language, such as XML code, BNF rules, MIB definitions, etc.

There is no text in formal languages in the document. 
Back