PLCnext API Documentation 25.0.2.69
IPasswordAuthenticationService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include "Arp/Base/Commons/Security/SecurityToken.hpp"
11#include "Arp/Base/Rsc/Commons/RscSecureString.hxx"
12#include "Arp/Base/Rsc/Commons/RscString.hxx"
13#include "Arp/System/Um/Services/AuthenticationError.hpp"
14#include "Arp/System/Um/Services/ChannelInformation.hpp"
15
16// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IPasswordAuthenticationService.cs
17
19{
20
21using namespace Arp::Base::Rsc::Commons;
22
37{
38public: // usings
39 using Ptr = std::shared_ptr<IPasswordAuthenticationService>;
40
41public: // construction/destruction
44
45public: // static policy operation
46 static IRscServiceProxyFactory& GetProxyFactory(void);
47
48public: // abstract operations
90 virtual AuthenticationError CreateSession(const RscString<64>& userName, const RscSecureString<128>& password, const ChannelInformation& channelInformation, SecurityToken& securityToken, uint32& penaltyDelayMillis, uint32& initialTimeOutMillis) = 0;
91
104 virtual void ProlongSession(SecurityToken securityToken, uint32& newTimeOutMillis) = 0;
105
111 virtual void CloseSession(SecurityToken securityToken) = 0;
112};
113
114} // end of namespace Arp::System::Um::Services
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Specialized implementation of RscString for secure context.
Definition: RscSecureString.hxx:16
Contains a static string with string lentgh up to N characters. The string shall be null terminated.
Definition: RscString.hxx:24
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
Describes an external channel at which the authentication of a user was requested.
Definition: ChannelInformation.hpp:44
Create and close sessions at the UserManager.
Definition: IPasswordAuthenticationService.hpp:37
virtual void ProlongSession(SecurityToken securityToken, uint32 &newTimeOutMillis)=0
Prolongs the timeout of the current session (as referenced by the Ade.CommonRemoting....
virtual AuthenticationError CreateSession(const RscString< 64 > &userName, const RscSecureString< 128 > &password, const ChannelInformation &channelInformation, SecurityToken &securityToken, uint32 &penaltyDelayMillis, uint32 &initialTimeOutMillis)=0
Creates a new Session against the UserManager.
virtual void CloseSession(SecurityToken securityToken)=0
Close the current session (as referenced by the Ade.CommonRemoting.Security.SecurityToken within an e...
IPasswordAuthenticationService(void)=default
Constructs an IPasswordAuthenticationService instance.
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
Namespace for services of the User Manager (UM)
AuthenticationError
Describes several error codes which can occur during an authentication request.
Definition: AuthenticationError.hpp:19