Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Account.OAuth2 / Tizen.Account.OAuth2 / AuthorizationRequest.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 using System.Collections.Generic;
19
20 namespace Tizen.Account.OAuth2
21 {
22     /// <summary>
23     /// The request parameters to be sent to authorization end point.
24     /// </summary>
25     /// <since_tizen> 3 </since_tizen>
26     public abstract class AuthorizationRequest
27     {
28         /// <summary>
29         /// The desired response type from the OAuth authorization end point.
30         /// </summary>
31         /// <since_tizen> 3 </since_tizen>
32         public abstract string ResponseType { get; }
33
34         /// <summary>
35         /// Client secret credentials.
36         /// </summary>
37         /// <since_tizen> 3 </since_tizen>
38         public ClientCredentials ClientSecrets { get; set; }
39
40         /// <summary>
41         /// The scope of the access.
42         /// </summary>
43         /// <since_tizen> 3 </since_tizen>
44         public IEnumerable<string> Scopes { get; set; }
45
46         /// <summary>
47         /// The authorization end point URL.
48         /// </summary>
49         /// <since_tizen> 3 </since_tizen>
50         public Uri AuthorizationEndpoint { get; set; }
51
52         /// <summary>
53         /// The redirection endpoint of the auhorization flow.
54         /// </summary>
55         /// <since_tizen> 3 </since_tizen>
56         public Uri RedirectionEndPoint { get; set; }
57
58         /// <summary>
59         /// The access token end point URL.
60         /// </summary>
61         /// <since_tizen> 3 </since_tizen>
62         public Uri TokenEndpoint { get; set; }
63
64         /// <summary>
65         /// The client's state which is maintained between request and response.
66         /// </summary>
67         /// <since_tizen> 3 </since_tizen>
68         public string State { get; set; }
69
70         /// <summary>
71         /// Custom key-value parameters to be sent to the server
72         /// </summary>
73         /// <since_tizen> 3 </since_tizen>
74         public IEnumerable<KeyValuePair<string, string>> CustomData { get; set; }
75     }
76 }