Re: [scim] How to check isUsernameExist for Self Sign Up

Gayan Gunawardana <gayan@wso2.com> Sun, 05 February 2017 04:25 UTC

Return-Path: <gayan@wso2.com>
X-Original-To: scim@ietfa.amsl.com
Delivered-To: scim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 546B9129466 for <scim@ietfa.amsl.com>; Sat, 4 Feb 2017 20:25:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=wso2.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dwtBCK7owj4W for <scim@ietfa.amsl.com>; Sat, 4 Feb 2017 20:25:26 -0800 (PST)
Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8D21A127A90 for <scim@ietf.org>; Sat, 4 Feb 2017 20:25:25 -0800 (PST)
Received: by mail-wm0-x235.google.com with SMTP id b65so84568352wmf.0 for <scim@ietf.org>; Sat, 04 Feb 2017 20:25:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wso2.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=FvMVfRwwmhIS7P1tzR8oaADhH9vN8sRUScbtVO5IdrY=; b=ILXBq2TD5XLCMlywI9a2czsH5HRYpcFV0xvniTEinuxBEYNxAp/cBUi9Y1uLekJbL+ ytyjf2e9JY1y7/5Ed5riFJ3yFji/nfHXMYlG1ZXEeNPiYVB0nAHKVRy24PGuqZH0xzrU zT7xHQrN7inKxBj7MWhY3EO/u0uvXfhIflvJs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=FvMVfRwwmhIS7P1tzR8oaADhH9vN8sRUScbtVO5IdrY=; b=RRxIL8b7b/DgM7wNZHQGIcFGDDdVe/jMqLvPpG3tTSkFGV0IupwJkTGhPp8j38W2kA npL2b1pT82QKjNv5TBgMsJ6UwOtF1JWCH1kfLODj9gLT28wb2z62k2Ety1b1Vi+TUt9R Wm7xffFmy3lW5BBPdmBYuzgh0/DOJXPpE8D9X4VOq8urj/+imM9MsIrU4qq6sm7JqFTp GLZpJx0CEsvgdC4a6pT/+5YIqcU5Hh5Awd/QEKiCdybbIAmGqqiF1UfNmTx4Q/V9fAD3 BJ8SbCyW6r5dG0LZmU0BH2yqj2i+hwv5g7Afyc0eKOLQ3V2+LV5ABW609xyjuFUu9B60 ptTg==
X-Gm-Message-State: AMke39mOhKmg8kEKiSRS0HgzYstsAJHYa/VHNNLw7wGtsOOc6IbF99C7g6CNOxFaPL5gKT+hYHAqv9qbk22VGXGS
X-Received: by 10.28.222.11 with SMTP id v11mr3510157wmg.1.1486268723881; Sat, 04 Feb 2017 20:25:23 -0800 (PST)
MIME-Version: 1.0
Received: by 10.223.134.169 with HTTP; Sat, 4 Feb 2017 20:25:23 -0800 (PST)
In-Reply-To: <23158D21-2EC9-4E0B-8592-17779D0E1311@oracle.com>
References: <CALzgRADp+vQfzQT9MEHWKiLJWH4kaSKtCUHDBOot79y18xyV0g@mail.gmail.com> <96ACFE7E-9A4C-4010-B43B-50D4086D0C49@oracle.com> <CALzgRAC4ka-r1rzXJ=3KPqO=zUmgojp2seGka0D61+85Uxve4g@mail.gmail.com> <23158D21-2EC9-4E0B-8592-17779D0E1311@oracle.com>
From: Gayan Gunawardana <gayan@wso2.com>
Date: Sun, 05 Feb 2017 09:55:23 +0530
Message-ID: <CALzgRAAuBx=j+8FN0c=K5a6qn4FXJwJYz15qwENad-e8XL=J9Q@mail.gmail.com>
To: "Phil Hunt (IDM)" <phil.hunt@oracle.com>
Content-Type: multipart/alternative; boundary="001a114b17ee53ff7a0547c0e759"
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/KsfydtTx5XY2cP2xXp1H8NJxQCc>
Cc: scim@ietf.org
Subject: Re: [scim] How to check isUsernameExist for Self Sign Up
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Simple Cloud Identity Management BOF <scim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/scim>, <mailto:scim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scim/>
List-Post: <mailto:scim@ietf.org>
List-Help: <mailto:scim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/scim>, <mailto:scim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 05 Feb 2017 04:25:28 -0000

On Fri, Feb 3, 2017 at 1:24 AM, Phil Hunt (IDM) <phil.hunt@oracle.com>
wrote:

> Inline
>
> Phil
>
> On Feb 2, 2017, at 11:27 AM, Gayan Gunawardana <gayan@wso2.com> wrote:
>
> Hi Phil,
>
> On Fri, Feb 3, 2017 at 12:19 AM, Phil Hunt <phil.hunt@oracle.com> wrote:
>
>> Gayan,
>>
>> Keep in mind SCIM is just a RESTful api. There are no functional methods
>> like isUsernameExist.
>>
> Yes totally understood.
>
>>
>> You can…
>>
>> 1.  Just try HTTP POST to create the user and if there is a conflict, it
>> gets rejected.  This is probably easiest.
>>
>> 2.  Use GET /Users?filter="(userName eq \”val\”)”&attributes=id.  If you
>> can no records return there were no matches. If you get a return, it is in
>> use.  Note, either way, you will get a successful response.
>>
> Yes both [1],[2] are possible but the problem is self sign up user(before
> self sign up) does not have valid credentials to perform above operations.
>
>
> As i described an app could register as a developer or use dyn reg.
>
I guess you are referencing to dynamic client registration in OIDC right ?

>
>
>>
>> Note, I suspect it is possible that despite checking with #2, you might
>> still get a rejection when you POST. This might be due to a reserve or lock
>> on the username or other identifier.
>>
>> Your rights as an administrative client will also impact what you get
>> back with the query in particular.  For example, if you are querying
>> anonymously, you might get no matches because the service provider has
>> determined it is not going to answer your and confirm presence or not of
>> the match.
>>
> Is there any security constrains for service providers to behave like that
> for anonymous requests ?
>
>
> Yes DoS attacks are a concern that prevent total anonymous registration.
> You need some trusted broker like a web or mobile app.
>
Yes having some trusted broker like a web or mobile app would resolve many
problems. Many Thanks Phil.

>
> Also many IDPs likely have a vetting process to establish some assurance
> about claims. Eg when an enterprise calls scim the enterprise is judged
> authoritative over employee assertions.
>
> Others might do secondary validation (eg email confirmation).
>
> All of this is really outside the scope of provisioning protocol but part
> of the larger IDM services approaches.
>
>
>> Likewise, many service providers will have DoS and other security
>> restrictions on what clients can register.
>>
>> E.g. to moderate the need for “anonymous” registration, a mobile app
>> could register with the service provider to obtain a “public” OAuth client
>> credential that gives the mobile client the right to register a new user
>> profile on behalf of the user (e.g. by using profile data from the mobile
>> phone).
>>
>> Phil
>>
>> Oracle Corporation, Identity Cloud Services & Identity Standards
>> @independentid
>> www.independentid.com
>> phil.hunt@oracle.com
>>
>>
>>
>>
>>
>>
>>
>> On Feb 2, 2017, at 10:18 AM, Gayan Gunawardana <gayan@wso2.com> wrote:
>>
>> Hello,
>>
>> According to [1] self sign up can be achieved via sending authenticated
>> request to /Me.
>>
>> What is the proper way to check isUsernameExist before self sign up ?
>>
>> [1]https://tools.ietf.org/html/rfc7644#section-3.11
>>
>> Thanks,
>> Gayan
>> --
>> Gayan Gunawardana
>> Software Engineer; WSO2 Inc.; http://wso2.com/
>> Email: gayan@wso2.com
>> Mobile: +94 (71) 8020933
>> _______________________________________________
>> scim mailing list
>> scim@ietf.org
>> https://www.ietf.org/mailman/listinfo/scim
>>
>>
>>
>
>
> --
> Gayan Gunawardana
> Software Engineer; WSO2 Inc.; http://wso2.com/
> Email: gayan@wso2.com
> Mobile: +94 (71) 8020933
>
>


-- 
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/
Email: gayan@wso2.com
Mobile: +94 (71) 8020933