2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 using System.Collections.Generic;
20 namespace Tizen.Account.OAuth2
23 /// The request parameters to be sent to authorization end point.
25 /// <since_tizen> 3 </since_tizen>
26 public abstract class AuthorizationRequest
29 /// The desired response type from the OAuth authorization end point.
31 /// <since_tizen> 3 </since_tizen>
32 public abstract string ResponseType { get; }
35 /// Client secret credentials.
37 /// <since_tizen> 3 </since_tizen>
38 public ClientCredentials ClientSecrets { get; set; }
41 /// The scope of the access.
43 /// <since_tizen> 3 </since_tizen>
44 public IEnumerable<string> Scopes { get; set; }
47 /// The authorization end point URL.
49 /// <since_tizen> 3 </since_tizen>
50 public Uri AuthorizationEndpoint { get; set; }
53 /// The redirection endpoint of the auhorization flow.
55 /// <since_tizen> 3 </since_tizen>
56 public Uri RedirectionEndPoint { get; set; }
59 /// The access token end point URL.
61 /// <since_tizen> 3 </since_tizen>
62 public Uri TokenEndpoint { get; set; }
65 /// The client's state which is maintained between request and response.
67 /// <since_tizen> 3 </since_tizen>
68 public string State { get; set; }
71 /// Custom key-value parameters to be sent to the server
73 /// <since_tizen> 3 </since_tizen>
74 public IEnumerable<KeyValuePair<string, string>> CustomData { get; set; }