[Openid-specs-ab] Failed Authentication Attempts

Torsten Lodderstedt torsten at lodderstedt.net
Tue May 29 10:06:50 UTC 2018


That’s rather tricky. The OP must use this parameter to indicate to the RP what acr policy it fulfilled in the respective transaction. The value in acr is not necessarily the value the RP asked for. But this holds only true if the acr claim was not requested as essential claim. In this case, the OP must „MUST treat that outcome as a failed authentication attempt.“ In my interpretation, this requires the OP to send an error response to the client, which only carries the error data.  

> Am 28.05.2018 um 05:29 schrieb Phil Hunt <phil.hunt at oracle.com>:
> 
> Isn’t this what the acr response param is for...
>> 
> acr
> OPTIONAL. Authentication Context Class Reference. String specifying an Authentication Context Class Reference value that identifies the Authentication Context Class that the authentication performed satisfied. The value "0" indicates the End-User authentication did not meet the requirements of ISO/IEC 29115 [ISO29115] level 1. 
> 
> Phil
> 
> On May 27, 2018, at 9:00 AM, Torsten Lodderstedt via Openid-specs-ab <openid-specs-ab at lists.openid.net> wrote:
> 
>> Hi Vladimir,
>> 
>>> Am 26.05.2018 um 23:42 schrieb Vladimir Dzhuvinov via Openid-specs-ab <openid-specs-ab at lists.openid.net>:
>>> 
>>> If you're looking for a standard error code for "user failed to authenticate (with required ACR)", access_denied appears to be the closest and only choice. What the RP would make of that error code is another question :)
>>> http://openid.net/specs/openid-connect-core-1_0.html#AuthError
>>> 
>>> In practice, many OPs won't send the browser back to the RP if the user failed to authenticate, i.e. the browser will remain at the login screen, with the user given the option for some sort of recovery and perhaps the option to cancel the request and return to the RP.
>>> As for login_required and interaction_required - my reading of the spec is that these are intended for error responses to prompt=none authentication requests and shouldn't be used to signal other conditions.
>>> http://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
>> 
>> That’s my problem. In my use case, the OP is unable to meet the RP’s requirements either entirely or for the particular user (e.g. no second factor available). I think stopping request processing at the OP is not a good option. I would like to send the user agent back to the RP along with enough information to act upon. My current feeling is we need another, distinct error code - something like authentication_failed or unable_to_meet_authentication_requirements.
>> 
>> best regards,
>> Torsten. 
>> 
>>> 
>>> 
>>>> none
>>>> The Authorization Server MUST NOT display any authentication or consent user interface pages. An error is returned if an End-User is not already authenticated or the Client does not have pre-configured consent for the requested Claims or does not fulfill other conditions for processing the request. The error code will typically be login_required, interaction_required, or another code defined in Section 3.1.2.6. This can be used as a method to check for existing authentication and/or consent.
>>> 
>>> 
>>> Vladimir
>>> 
>>> 
>>> On 25/05/18 18:41, Filip Skokan via Openid-specs-ab wrote:
>>>> Depending on the situation at the OP I believe this could be any of (in
>>>> order of my preference) login_required, interaction_required, access_denied
>>>> 
>>>> Best,
>>>> *Filip Skokan*
>>>> 
>>>> On Fri, May 25, 2018 at 4:13 PM, Torsten Lodderstedt via Openid-specs-ab <
>>>> 
>>>> openid-specs-ab at lists.openid.net
>>>>> wrote:
>>>> 
>>>> 
>>>>> Hi all,
>>>>> 
>>>>> I just came across the following text (again) in the OpenID Connect Core
>>>>> Spec:
>>>>> 
>>>>> "If the acr Claim is requested as an Essential Claim for the ID Token with
>>>>> a values parameter requesting specific Authentication Context Class
>>>>> Reference values and the implementation supports the claims parameter, the
>>>>> Authorization Server MUST return an acr Claim Value that matches one of the
>>>>> requested values. The Authorization Server MAY ask the End-User to
>>>>> re-authenticate with additional factors to meet this requirement. If this
>>>>> is an Essential Claim and the requirement cannot be met, then the
>>>>> Authorization Server MUST treat that outcome as a failed authentication
>>>>> attempt.“
>>>>> 
>>>>> What error code is the OP supposed to use to signal the failed
>>>>> authentication to the RP?
>>>>> 
>>>>> best regards,
>>>>> Torsten.
>>>>> _______________________________________________
>>>>> 
>>> 
>>> _______________________________________________
>>> Openid-specs-ab mailing list
>>> Openid-specs-ab at lists.openid.net
>>> http://lists.openid.net/mailman/listinfo/openid-specs-ab
>> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3872 bytes
Desc: not available
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20180529/32e91d9a/attachment.p7s>


More information about the Openid-specs-ab mailing list