All Classes Files Functions Variables Pages
Authentication.idl
Go to the documentation of this file.
1 /**
2  * @file Authentication.idl
3  * @brief API for authentication
4  * @version 2
5  */
6 
7 #import <kerio/web/idl/SharedStructures.idl>
8 #import <common.idl>
9 
10 module webadmin {
11 
12 struct HttpProxyAuth {
13  boolean enabled;
14  kerio::web::OptionalEntity addressGroup;
15 };
16 
17 struct Radius {
18  boolean enabled;
19  Password password;
20  IdReference certificate;
21 };
22 
23 struct GuestConfig {
25  string message;
26 };
27 
29  boolean authenticationRequired;
30  boolean ntlmEnabled;
31  HttpProxyAuth httpProxyAuth;
32  Radius radius;
33  GuestConfig guest;
35 };
36 
37 struct TotpConfig {
38  boolean required;
39  boolean remoteConfig;
40 };
41 
42 enum JoinStatus {
43  JoinStatusConnected,
44  JoinStatusDisconnected,
45  JoinStatusError
46 };
47 
48 interface Authentication {
49 
50  /**
51  * Returns Authetication option settings
52  * @param config - configuration values
53  * @throws kerio::web::ApiException \n
54  * -32001 Session expired. - "The user is not logged in." \n
55  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
56  */
57  void get(out AuthenticationConfig config);
58 
59  /**
60  * Stores Authetication option settings
61  * @param config - configuration values
62  * @throws kerio::web::ApiException \n
63  * -32001 Session expired. - "The user is not logged in." \n
64  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
65  */
66  void set(in AuthenticationConfig config);
67 
68  /**
69  * joins computer to domain
70  * @param message - text related to join result
71  * @param status - current status
72  * @param hostName - name of the computer that will be set to computer and in domain controller
73  * @param domainName - domain name (e.g. example.com)
74  * @param credentials - domain account with rights to join the domain
75  * @param server - server name (e.g. server.example.com) - filled only in case, that joinNeedServer returns true
76  * @throws kerio::web::ApiException \n
77  * -32001 Session expired. - "The user is not logged in." \n
78  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
79  */
80  void join(out kerio::web::LocalizableMessage message, out JoinStatus status, in string hostName, in string domainName, in CredentialsConfig credentials, in string server);
81 
82  /**
83  * tests, if join's param server need to be filled
84  * @param needServer - true - join must have param server.enabled on true and server.value filled
85  * @param domainName - domain name (e.g. example.com)
86  * @throws kerio::web::ApiException \n
87  * -32001 Session expired. - "The user is not logged in." \n
88  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
89  */
90  void isJoinServerNeeded(out boolean needServer, in string domainName);
91 
92  /**
93  * disconnects computer from domain
94  * @param message - text related to leave result
95  * @param status - current status
96  * @param credentials - domain account with rights to leave from domain
97  * @throws kerio::web::ApiException \n
98  * -32001 Session expired. - "The user is not logged in." \n
99  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
100  */
101  void leave(out kerio::web::LocalizableMessage message, out JoinStatus status, in CredentialsConfig credentials);
102 
103  /**
104  * tests if computer is joined to domain
105  * @param status - current status
106  * @param domainName - a string representation of joined domain.
107  * @throws kerio::web::ApiException \n
108  * -32001 Session expired. - "The user is not logged in." \n
109  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
110  */
111  void getJoinStatus(out JoinStatus status, out string domainName);
112 
113  /**
114  * Returns TotpConfig
115  * @param config - configuration values
116  * @throws kerio::web::ApiException \n
117  * -32001 Session expired. - "The user is not logged in." \n
118  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
119  */
120  void getTotpConfig(out TotpConfig config);
121 
122  /**
123  * Stores TotpConfig
124  * @param config - configuration values
125  * @throws kerio::web::ApiException \n
126  * -32001 Session expired. - "The user is not logged in." \n
127  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
128  */
129  void setTotpConfig(in TotpConfig config);
130 
131 };
132 
133 }; //webadmin
Common Kerio Control structures, enums and types.
Definition: Authentication.idl:17
Definition: SharedStructures.idl:151
Definition: common.idl:28
Definition: SharedStructures.idl:298
Definition: Authentication.idl:48
Definition: Authentication.idl:12
Definition: common.idl:18
Definition: common.idl:116
Definition: Authentication.idl:37
Definition: Authentication.idl:28
kerio::web::OptionalLong inactivityTimeout
in minutes
Definition: Authentication.idl:34
Definition: SharedStructures.idl:307
Definition: Accounting.idl:11
Definition: SharedStructures.idl:289
Definition: Authentication.idl:23