чт, 23 янв. 2020 г. в 12:17, Dmitrii Ryabov <somefire...@gmail.com>:

> > The protocol must be language-agnostic. If we add some features there,
> let's make sure they are usable from anywhere.
>
> That's why I want to allow primitives only. Any language can send numbers
> and strings.
>

In general it's possible to have cross-platform complex data structures,
for example see protobuf.


>
> Binary marshaller, before packing object to byte[], will try to use
> discovery processor and send message containing class descriptor. But thin
> clients don't have discovery. Furthermore, if we write binary marshaller
> without class descriptor synchronization, we can get objects with different
> class versions and corresponding exceptions.
>

Even if compact footer is disabled ?


>
> But we can say users to declare their classes in
> META-INF/classnames.properties and current binary marshaller will works
> good.
>

This approach doesn't looks like cross-platform.


>
> чт, 23 янв. 2020 г., 12:13 Alex Plehanov <plehanov.a...@gmail.com>:
>
> > Hello,
> >
> > User attributes also (besides authentication) can be used to pass some
> info
> > about an application that uses a client and then display this information
> > in monitoring tools. Other vendors use such approach (Oracle DB, for
> > example, have DBMS_APPLICATION_INFO package, PostgreeSQL have
> > application_name connection property and application information
> available
> > later in system views).
> >
> > About allowed data types: we should definitely limit attribute types to
> > only primitive types. Thin client binary marshaller can't send
> information
> > about custom types before the handshake.
> >
> >
> > ср, 22 янв. 2020 г. в 21:39, Pavel Tupitsyn <ptupit...@apache.org>:
> >
> > > I've looked through the PR more closely, trying to understand the use
> > case,
> > > and there are some Java-specific things going on (left a comment).
> > > Please keep in mind that we have thin clients in Python, Node.js, C++,
> > C#.
> > > The protocol must be language-agnostic. If we add some features there,
> > > let's make sure they are usable from anywhere.
> > >
> > > On Wed, Jan 22, 2020 at 9:21 PM Pavel Tupitsyn <ptupit...@apache.org>
> > > wrote:
> > >
> > > > The approach with UserAttributes map looks dirty to me and raises
> > > > questions:
> > > >
> > > > - Why is UserAttributes property related to authentication?
> > > > - UserAttributes name implies that users can put there anything they
> > > want,
> > > > but what for? What are those additional use cases?
> > > >
> > > > I think we should focus on a specific problem at hand and avoid
> > > > unnecessary future-proofing.
> > > > What are current and potential future custom authenticators and what
> > kind
> > > > of data do they need?
> > > >
> > > > On Wed, Jan 22, 2020 at 6:28 PM Nikita Amelchev <
> nsamelc...@gmail.com>
> > > > wrote:
> > > >
> > > >> I think we should add this. It will provide an extra level of
> > security.
> > > >> This approach is used in many products, for example in AWS (MFA).
> [1]
> > > >>
> > > >> [1]
> > > >>
> > >
> >
> https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#multi-factor-authentication
> > > >>
> > > >> ср, 22 янв. 2020 г. в 18:13, Andrey Kuznetsov <stku...@gmail.com>:
> > > >> >
> > > >> > Hi, Pavel!
> > > >> >
> > > >> > Sometimes single authentication factor is not enough. Attributes
> > > >> proposed
> > > >> > allow to add extra factors flexibly.
> > > >> >
> > > >> > ср, 22 янв. 2020 г., 17:39 Pavel Tupitsyn <ptupit...@apache.org>:
> > > >> >
> > > >> > > Token can be sent instead of a password (like git works with
> > GitHub
> > > >> > > tokens).
> > > >> > >
> > > >> > > For now I don't see a reason to include attributes into the
> > > handshake
> > > >> > > message.
> > > >> > >
> > > >> > > On Wed, Jan 22, 2020 at 5:32 PM Ilya Kasnacheev <
> > > >> ilya.kasnach...@gmail.com
> > > >> > > >
> > > >> > > wrote:
> > > >> > >
> > > >> > > > Hello!
> > > >> > > >
> > > >> > > > One does not send security certificate as attribute. The only
> > way
> > > to
> > > >> > > obtain
> > > >> > > > peer security certificate is to ask SSL engine to provide it.
> > > >> > > >
> > > >> > > > Nevertheless, I can see how it can be useful with e.g.
> Kerberos,
> > > >> which is
> > > >> > > > token-based IIRC.
> > > >> > > >
> > > >> > > > Regards,
> > > >> > > > --
> > > >> > > > Ilya Kasnacheev
> > > >> > > >
> > > >> > > >
> > > >> > > > ср, 22 янв. 2020 г. в 17:20, Dmitrii Ryabov <
> > > somefire...@gmail.com
> > > >> >:
> > > >> > > >
> > > >> > > > > This map is something like user object from
> > > `SecurityCredentials`.
> > > >> > > > > Sometimes login and password are not enough for security
> > checks.
> > > >> For
> > > >> > > > > example, we can send security certificate and validate it
> > inside
> > > >> > > > > authenticator.
> > > >> > > > >
> > > >> > > > > ср, 22 янв. 2020 г., 17:16 Igor Sapego <isap...@apache.org
> >:
> > > >> > > > >
> > > >> > > > > > Hi Dmitrii,
> > > >> > > > > >
> > > >> > > > > > Can you please explain your use case?
> > > >> > > > > > I'm not sure I'm getting what is the motivation of this
> > > change.
> > > >> > > > > >
> > > >> > > > > > Best Regards,
> > > >> > > > > > Igor
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > > > On Wed, Jan 22, 2020 at 5:11 PM Pavel Tupitsyn <
> > > >> ptupit...@apache.org
> > > >> > > >
> > > >> > > > > > wrote:
> > > >> > > > > >
> > > >> > > > > > > Hi Dmitrii,
> > > >> > > > > > >
> > > >> > > > > > > Honestly, I could not grasp the problem, can you explain
> > it
> > > >> in more
> > > >> > > > > > detail?
> > > >> > > > > > > What do we solve by adding a map with arbitrary stuff to
> > the
> > > >> client
> > > >> > > > > > > protocol handshake?
> > > >> > > > > > >
> > > >> > > > > > > On Wed, Jan 22, 2020 at 5:02 PM Dmitrii Ryabov <
> > > >> > > > somefire...@gmail.com>
> > > >> > > > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > > > Hello, Igniters!
> > > >> > > > > > > >
> > > >> > > > > > > > I want to add the possibility of sending user defined
> > > >> attributes
> > > >> > > > from
> > > >> > > > > > > thin
> > > >> > > > > > > > clients. And check them inside custom authenticator
> > during
> > > >> > > > handshake
> > > >> > > > > > [1].
> > > >> > > > > > > >
> > > >> > > > > > > > There is an issue in hardcoded binary writer for JDBC
> > and
> > > >> > > > > > `IgniteClient`.
> > > >> > > > > > > > This writer searches for a classes in the JDK and
> > > >> > > > > > > > META-INF/classnames.properties, and tries to sync
> > > >> notdeclared
> > > >> > > > classes
> > > >> > > > > > > with
> > > >> > > > > > > > cluster. But fails because current classloading uses
> > > >> discovery.
> > > >> > > > > > > >
> > > >> > > > > > > > I'd like to keep this writer and allow only primitive
> > > types
> > > >> and
> > > >> > > > > > `String`
> > > >> > > > > > > > for user attributes to prevent unexpected fails. I
> think
> > > it
> > > >> is
> > > >> > > > better
> > > >> > > > > > > than
> > > >> > > > > > > > changing writer to one with heavy classloading.
> > > >> > > > > > > >
> > > >> > > > > > > > Is it ok to restrict thin attributes to primitives and
> > > >> 'String'?
> > > >> > > > > > > >
> > > >> > > > > > > > [1]
> https://issues.apache.org/jira/browse/IGNITE-12049
> > > >> > > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Best wishes,
> > > >> Amelchev Nikita
> > > >>
> > > >
> > >
> >
>


-- 

Best regards,
Alexei Scherbakov

Reply via email to