aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Security/RefreshTokenEncoder.cs
blob: 896788ffc0ce91bc30641891a5273e9a9475b017 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Tango.Core.Cryptography;

namespace Tango.MachineService.Security
{
    public class RefreshTokenEncoder<T>
    {
        public String Encode(T obj)
        {
            String json = JsonConvert.SerializeObject(obj);
            Rfc2898Cryptographer crypt = new Rfc2898Cryptographer();
            return crypt.Encrypt(json);
        }

        public T Decode(String token)
        {
            Rfc2898Cryptographer crypt = new Rfc2898Cryptographer();
            String json = crypt.Decrypt(token);
            return JsonConvert.DeserializeObject<T>(json);
        }
    }
}
lass="p">} private String _name; /// <summary> /// Gets or sets the name. /// </summary> public String Name { get { return _name; } set { _name = value; RaisePropertyChangedAuto(); } } private bool _isSelected; /// <summary> /// Gets or sets a value indicating whether this instance is selected. /// </summary> public bool IsSelected { get { return _isSelected; } set { _isSelected = value; RaisePropertyChangedAuto(); } } private ObservableCollection<IElementEditor> _elements; /// <summary> /// Gets or sets the visual elements. /// </summary> public ObservableCollection<IElementEditor> Elements { get { return _elements; } set { _elements = value; RaisePropertyChangedAuto(); } } /// <summary> /// Initializes a new instance of the <see cref="MachineTechTabVM"/> class. /// </summary> public MachineTechTabVM() { Name = "untitled"; Elements = new ObservableCollection<IElementEditor>(); } } }